我有像
这样的json格式[
{
id: 15,
diemdung: "a"
},
{
id: "16",
diemdung: "b",
khoangcach: "300",
pho: "c",
da: [
{
lancan: "d",
kc: "333"
},
{
lancan: "e",
kc: "322"
}
]
},
...
]
我使用像print json_encode($rows);
这样的php
我尝试在客户端使用jquery如
$.getJSON(url,function(json){
$.each(json,function(key, val){
$.each(this.da,function(){
alert(this.kc);
});
});
});
但它不起作用。我是怎么做到的?感谢
答案 0 :(得分:1)
如果您的代码正常工作,则可能会收到以下错误:
TypeError: obj is undefined
这是因为外部数组中的第一个对象没有“da”属性的值。在尝试遍历“da”属性所持有的数组之前,应检查它是否存在。
尝试:
$.getJSON(url,function(json){
$.each(json,function(){
if (this.da) {
$.each(this.da,function(){
alert(this.kc);
});
}
});
});
答案 1 :(得分:0)
$.each(json, function(arrayID, arrayVal) {
//alert(arrayVal.id);
$.each(arrayVal.da, function(daKey,daData) {
alert(daData.kc);
});
});
前面提到同样的问题,以获取更多代码
JQuery $.each() JSON array object iteration
编辑以重命名某些变量以使其更清晰
答案 2 :(得分:0)
对于n级层次结构
var str = '{"countries":[{"name":"USA","grandfathers":[{"gFName":"Steve","grandfathersKid":[{"gFKName": "Linda","kid": [{"name": "Steve JR", "friends": [{"name": "Kriss|John|Martin|Steven"}]}]}]}]}]}';
var obj = jQuery.parseJSON(str);
parseJsonString(obj);
功能:
function parseJsonString(data){
$.each(data, function(index, val){
if($.type(val) == 'object' || $.type(val) == 'array'){
product.parseJsonString(val);
}else{
alert(index + ' - ' + val);
}
});
}