【发布时间】:2011-09-20 17:41:26
【问题描述】:
我有一些带有元素属性的 JSON,其中一个 JSON 元素具有多个数组的值。如果有一个数组,我已经弄清楚如何访问该数组,但我不确定如何访问第二个。
我也可以知道如何将新数组推送到 JSON 值。
这就是我所拥有的
$(this).attr({
"data-settings": $.toJSON({ nPosX: newPX, nPosY: newPY, oPosX: oldPX, oPosY: oldPY, moves: ["val"]["key"] })
});
var movesObj = $.parseJSON($(this).attr('data-settings'));
moves 是保存数组的位置。
提前致谢!
【问题讨论】:
-
moves: ["val"]["key"]并没有像你想象的那样做。它将尝试访问["val"]数组的key属性。该属性不存在,因此返回undefined。因此,结果是moves: undefined。您究竟希望moves的结构如何?一个数组或数组?一个有两个元素的数组? -
如果您使用
movesObj.moves[0],您可以访问“val”。最好和数组数组。 -
使用那个设置?我对此表示怀疑:jsfiddle.net/g7E7C 无论如何,您绝对应该阅读有关arrays in JavaScript 的信息。如果你想让
movesObj.moves[0]返回val,那么它似乎需要一个包含两个元素的数组:moves: ["val", "key"]。
标签: arrays json attributes element