日期:2014-05-16  浏览次数:20383 次

js 动态创建json
  
  很抑郁 找动态创建json的都没怎么找到。
  比如说我要创建类似于这样的。 [{"id":1},{"id":2},{"id":3}]
  然后把他转成字符串。

  我尝试过用json对象的方法,然后转成字符串老不对。

  求教!
JSON JavaScript

------解决方案--------------------

var arr = [
   {id:'1'},
   {id:'2'}
];
var json = JSON.stingify(arr);

------解决方案--------------------

function toJson(obj){
var toStr = function(v){
if(v==undefined) return v;
switch(v.constructor){
case Number:
case Boolean:
return v;
case String:
return '"' + v.replace(/"/g,'\\"') + '"';
case Array:
var isA=1;
case Object:
  var ss=[]
for(var i in v) ss.push('"'+i+'":'+toStr(v[i]));
return (isA?'[':'{') + ss.join(",") + (isA?']':'}');
default:
return undefined;
}
};
return toStr(obj);
}
  alert(  toJson([1, {a:1,b:2} ]) )