问下这样的数据格式如何处理?

let data = [
    "1":{name:'echo'},
    "2":{name:'听风是风'},
    "3":{name:'天子笑'},
    ];

使用JSON.stringify(data)报错
如果是这样的数据格式,就正常
image.png

如果碰到是第一种的数据格式(是什么格式?数组对象?),怎么来处理成下面的格式,然后再JSON.stringify

阅读 1.3k
2 个回答

[]是数组,只能定义 ['val', 'val2', ....],类似你上面的只能这样

 [
    {name:'echo'},
    {name:'听风是风'},
    {name:'天子笑'},
 ];

{}是对象是可以 {'key':'val'} 定义,如果碰到上面那样的数据,只能是把[]换成{}才行,
或是删除掉键名。

如果定义都错误了,JSON.stringify就不可能能转换了。

上面那种数据在 JS 中直接报语法错误 …… 那就没后面什么事儿了,也不存在处理的问题。JS 语法没有这种格式的数据,如果是对象,应该使用 { }(也就是你的截图)。如果是数组,不使用键值对定义方式

let data = [
    {},   // 第 0 个随便给个值,后面就是从序号 1 开始排的
    {name:'echo'},
    {name:'听风是风'},
    {name:'天子笑'},
];

还有一点,双引号和单引号不要混用,虽然混用并没有语法错误,但这是不好的代码习惯。

BTW,上面代码中定义的数组,如果你试试 delete data[0],也很好玩。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题