Javascript生成json的函数代码(可以用php的json_decode解码)

但是有个问题
虽然JS解码JSON非常方便,但是编码似乎没有什么好办法…
本着能懒即懒,不能懒也尽量懒的原则,古狗了一下
还真让我发现了
PHP里直接用json_decode就可以解码,用起来相当方便

代码如下:

function json_encode_js(aaa){ 
function je(str){ 
var a=[],i=0; 
var pcs="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 
for (;i<str.length;i++){ 
if(pcs.indexOf(str[i]) == -1) 
a[i]="\\u"+("0000"+str.charCodeAt(i).toString(16)).slice(-4); 
else 
a[i]=str[i]; 
} 
return a.join(""); 
} 
var i,s,a,aa=[]; 
if(typeof(aaa)!="object") {alert("ERROR json");return;} 
for(i in aaa){ 
s=aaa[i]; 
a='"'+je(i)+'":'; 
if(typeof(s)=='object'){ 
a+=json_encode_js(s); 
}else{ 
if(typeof(s)=='string') 
a+='"'+je(s)+'"'; 
else if(typeof(s)=='number') 
a+=s; 
} 
aa[aa.length]=a; 
} 
return "{"+aa.join(",")+"}"; 
}

相关推荐