function parseJSON(JSONsrc,filter)
	{
	// Build from json.js on JSON.org
	
    var j;

    function walk(k, v)
		{
        var i;
        if (v && typeof v === 'object')
			{
            for (i in v)
				{
	                if (v.hasOwnProperty(i)) {
	                    v[i] = walk(i, v[i]);
	                }
	            }
        	}
        return filter(k, v);
    	}
	
	if (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(JSONsrc.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '')))
		//"
		// We could parse it
		{
	    j = eval('(' + JSONsrc + ')');
	
	    if (typeof filter === 'function')
			{
	        j = walk('', j);
	    	}
	
	    return j;
		}
	}
