从JSON访问多维数组
我有一些JSON具有元素属性,其中一个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
正是数组保存。
感谢先进!
嗯,这似乎并不像一个有效JSON给我。你不能像这样定义一个JSON。你要么定义像散招式:
moves: {"val":"key"}
你访问它想:moves.val或移动[ “VAL”]
或者你定义像哈希数组招式:
moves: [{"val":"key"}, ...]
你访问它,如:移动[0] .VAL或移动[0] [ “VAL”]。
如果你想有一个嵌套的散列这样,你需要将它定义成:
moves: {"val": {"key":"value"}}
,并获得它像移动[ “VAL”] [ “钥匙”]或moves.val。键
我认为哈希阵列是我正在寻找的,我将如何推动新的哈希阵列进行移动? – PapaSmurf
例如'moves:[{posX:nX,posY:nY,time:0}],[{posX:nX,posY:nY,time:3}] 如何添加第二个数组? – PapaSmurf
不要紧,我会使用我在这里得到的答案:[http://*.com/questions/7492472/how-do-i-add-a-array-to-a-json-object](http:/ /*.com/questions/7492472/how-do-i-add-a-array-to-a-json-object) – PapaSmurf
'moves:[“val”] [“key”]'不会做你可能认为它做的事。它将尝试访问'[“val”]'数组的'key'属性。该属性不存在,所以它返回'undefined'。因此,这个结果是'moves:undefined'。你究竟想要“移动”结构化?一个数组或数组?有两个元素的数组? –
如果你执行'movesObj.moves [0]',你可以访问“val”。 最好和数组的数组。 – PapaSmurf
使用该设置?我怀疑它:http://jsfiddle.net/g7E7C/在任何方面,你绝对应该阅读[JavaScript中的数组](https://developer.mozilla.org/en/JavaScript/Guide/Predefined_Core_Objects#Array_Object)。如果你想'movesObj.moves [0]'返回'val',那么它似乎需要一个数组有两个元素:'moves:[“val”,“key”]'。 –