有人可以解释为什么会发生这种情况吗?
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/