function json(){}function json_init(){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};var s=new Object();s['boolean']=function(x){return String(x)};s['null']=function(x){return"null"};s['number']=function(x){return isFinite(x)?String(x):'null'};s['array']=function(x){var a=['['],b,f,i,l=x.length,v;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=','}a[a.length]=v;b=true}}}a[a.length]=']';return a.join('')};s['object']=function(x){if(x){if(x instanceof Array)return s.array(x);var a=['{'],b,f,i,v;for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b)a[a.length]=',';a.push(s.string(i),':',v);b=true}}}a[a.length]='}';return a.join('')}return'null'};s['string']=function(x){if(/[\"\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c)return c;c=b.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16)})}return'"'+x+'"'};json.serialize=function(obj){obj=obj||false;return s[typeof(obj)](obj)};json.deserialize=json.unserialize=function(str){try{return(/^(\"(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(str))&&eval('('+str+')')}catch(e){return false}}}json_init();