首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON.stringify(数组)返回[]

JSON.stringify(数组)返回[]
EN

Stack Overflow用户
提问于 2014-02-06 15:01:01
回答 5查看 535关注 0票数 1

我试图压缩多个数组,但没有成功

代码语言:javascript
运行
复制
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返回[]

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-02-06 15:04:18

您正在创建一个数组,并将其作为json对象使用。如果需要对象,应该创建一个对象。

代码语言:javascript
运行
复制
var obj={};
obj['do']='smth';
obj['asd']=[];
obj['asd']['dsa']='alo';
var string=JSON.stringify(obj)
console.log(obj);
console.log(string);
票数 2
EN

Stack Overflow用户

发布于 2014-02-06 15:03:53

如果要在javascript中使用命名键,则应该使用对象,因为JSON序列化程序忽略数组中的任何命名键。经验法则是,您应该为[0][1]等使用数组,而为['foo']['bar']等使用对象。

代码语言:javascript
运行
复制
var obj = {
    'do': 'smth',
    'asd': {
        'dsa': 'alo'
    }
};

console.log( JSON.stringify(obj) );
//{"do":"smth","asd":{"dsa":"alo"}} 
票数 2
EN

Stack Overflow用户

发布于 2014-02-06 15:08:24

使用对象:

代码语言:javascript
运行
复制
var object = {};
object['do']='smth';
object['asd']=[];
object['asd']['dsa']='alo';
var string=JSON.stringify(object)
console.log(object);
console.log(string);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21606369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档