我试图压缩多个数组,但没有成功
var arr=new Array();
arr['do']='smth';
arr['asd']=[];
arr['asd']['dsa']='alo';
var string=JSON.stringify(arr)
console.log(arr);
console.log(string);JSON.stringify返回[]
发布于 2014-02-06 15:04:18
您正在创建一个数组,并将其作为json对象使用。如果需要对象,应该创建一个对象。
var obj={};
obj['do']='smth';
obj['asd']=[];
obj['asd']['dsa']='alo';
var string=JSON.stringify(obj)
console.log(obj);
console.log(string);发布于 2014-02-06 15:03:53
如果要在javascript中使用命名键,则应该使用对象,因为JSON序列化程序忽略数组中的任何命名键。经验法则是,您应该为[0]、[1]等使用数组,而为['foo']、['bar']等使用对象。
var obj = {
'do': 'smth',
'asd': {
'dsa': 'alo'
}
};
console.log( JSON.stringify(obj) );
//{"do":"smth","asd":{"dsa":"alo"}} 发布于 2014-02-06 15:08:24
使用对象:
var object = {};
object['do']='smth';
object['asd']=[];
object['asd']['dsa']='alo';
var string=JSON.stringify(object)
console.log(object);
console.log(string);https://stackoverflow.com/questions/21606369
复制相似问题