有人可以解释为什么会这样吗?
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
当我将JSON保存到文件时(我使用jsonfile模块),串口发生的事情也是如此。为什么它不像我想的那样打印出我的JSON?
答案 0 :(得分:1)
替换
test['id'] = []
带
test['id'] = {}
解释是数组的JSON字符串化仅使用它们在零和length-1
之间的索引属性(即使未定义),而不是它们可能具有的任何其他属性,例如名为“10-7”的内容(显然不是数组索引)。