JSON字符串化不完整

时间:2015-10-07 18:57:37

标签: 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

当我将JSON保存到文件时(我使用jsonfile模块),串口发生的事情也是如此。为什么它不像我想的那样打印出我的JSON?

1 个答案:

答案 0 :(得分:1)

替换

test['id'] = []

test['id'] = {}

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