JSON 字符串化未完成

JSON stringify not complete

有人可以解释为什么会这样吗?

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”(显然不是数组索引)。