如何将数组添加到JSON对象

时间:2011-09-20 22:18:53

标签: arrays json push

我正在尝试使用名为data-settings的附加属性记录对象移动到目前为止,我已设法设置某种JSON / Array但我希望其中一个对象保存多个哈希数组如此。

{ nPosX: newPX, nPosY: newPY, moves: [{ posX: newPX, posY: newPY, time: 0 }], [{ posX: newPX, posY: newPY, time: 5 }] }

但是我很难在moves添加另一个数组,所以我只有这个:

{ nPosX: newPX, nPosY: newPY, moves: [{ posX: newPX, posY: newPY, time: 0 }] }

如何将带有哈希值的数组推送到moves

谢谢

2 个答案:

答案 0 :(得分:0)

不需要额外的方括号。所以:

moves: [
    { posX: newPX, posY: newPY, time: 0 },
    { posX: newPX, posY: newPY, time: 5 }
]

答案 1 :(得分:0)

el = { nPosX: newPX, nPosY: newPY, moves: [{ posX: newPX, posY: newPY, time: 0 }] }
el.moves.push({ posX: newPX, posY: newPY, time: 5 })

给出:

{ nPosX: newPX, nPosY: newPY, moves: [{ posX: newPX, posY: newPY, time: 0 },{ posX: newPX, posY: newPY, time: 5 }] }

您的原始语法无效,因为您有两个包含单个对象的数组,每个对象都附加到“move”键。它不是JSON。

请参阅:http://www.json.org/