jQuery解析多维数组
我正在向外部php文件发出ajax请求,然后返回一些json。 大多数json是直截了当的,但我似乎无法弄清楚如何解析多维部分。
JSON:
{ "success":"TRUE", "action":"JSON", "date":"06/29/12", "results":"true", "numResults":2, "0":[ "id":1234, "name":"John Appleseed", "gender":"male", "average":2.5 ], "1":[ "id":5678, "name":"Jessica Smith", "gender":"female", "average":1.4 ] }
jQuery的:
$.ajax({ url: "searchController.php", data: searchData, type: "GET", success:function(q) { if (q) { // Results $('#search .container .body .ajax .returnedHTML .loadingScreen').hide(); var json = $.parseJSON(q); console.log(json); if (json.success == "true") { var numResults = json.numResults; if (numResults == 1) { $('#search .container .body .ajax .returnedHTML .content').contents().remove(); var htmlString = ''; $('#search .container .body .ajax .returnedHTML .content').append(htmlString); console.log(htmlString); } } });
如何解析JSON以便我可以访问所有数据而不仅仅是第一维中的数据? 我在这个网站上环顾四周,找不到任何有用和/或有帮助的东西。 非常感谢!
你的数组在json[0]
和json[1]
... for(var i in json) { if(!isNaN(i)) { ... refer to you variables as json[i].name, json[i].average, etc. ... } }
$.ajax({ url: "searchController.php", data: searchData, type: "GET", success:function(q) { if (q) { // Results $('#search .container .body .ajax .returnedHTML .loadingScreen').hide(); var json = $.parseJSON(q); console.log(json); if (json.success.toLowerCase() == "true") { ... } } }); for(var key in json){ if(json.hasOwnProperty(key){ console.log(key); console.log(json[key]); } }
关于你的JSON,你必须再次解析它,
var jsonArr1 = $.parseJSON(json.0); var jsonArr2 = $.parseJSON(json.1);