javascript - JSON 字符串化不完整

标签 javascript json stringify

有人可以解释为什么会发生这种情况吗?

var test = JSON

var date = '10-7'

test['id'] = []
test['id'][date] = [[1,2,3]]
test['id'][date].push([1,1,1])

console.log(test) // Output: { id: [ '10-7': [ [Object], [Object] ] ] }
console.log(JSON.stringify(test)) // Output: {"id":[]}
console.log(test['id'][date][0][0]) // Output: 1

stringily 发生的情况也是我将 JSON 保存到文件时发生的情况(我使用 jsonfile 模块)。为什么它没有像我想要的那样打印出我的 JSON?

最佳答案

替换

test['id'] = []

test['id'] = {}

解释是,数组的 JSON 字符串化仅使用其介于零和 length-1 之间的索引属性(即使未定义),而不使用它们可能具有的任何其他属性,例如名为“10-7”(显然,这不是数组索引)。

关于javascript - JSON 字符串化不完整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000287/

相关文章:

javascript - 按钮在第一次点击时不起作用

javascript - JavaScript 类和 jQuery 对象之间的循环依赖

javascript - ReactJS:调用 setLoading 时状态没有改变

javascript - 为什么以及何时我们需要展平 JSON 对象?

c# - 如何通过 WCF 处理大文件上传?

javascript - 字符串化 JSON 内部对象的最佳实践

javascript - 更改传单中的图层 z-index

python - Cassandra ResultSet 遍历一次后就变空了

javascript - 如何在 Typescript 中将 safeStringify() 添加到 JSON?

javascript - 关于 ECMAScript 中 JSON.stringify 的问题