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(",")+"}";

  }