2016-03-21 211 views
0

把我的头发拉出来,我知道它是JSOn如何工作的结构。json multidimensional array jquery

存在未定义于Web API的多维数组。 结构

{ 
"totalCount": 30, 
"entries": [{"title": "item1","description": "your amazing item 1"}], 
"price": [{"value": "$23.34","discount": "none"}], 
"newINfo" = 20 
}, 
{ 
"entries": [{"title": "item2","description": "your amazing item 2"}], 
"price": [{"value": "$23.34","discount": "none"}], 
"newINfo": = 50 
}, 

的Jquery>如果我设置$。每次(数据,到> $。每个(data.entires并删除从那里它呼吁内容字符串,它的工作原理一次一个的entires,但随后的数组项没有关联。

$.getJSON('/theWebApi', function (data) { 
    var content = ''; 
    $.each(data, function(i, object) { 
     content += '<div>' + object.entires.title + '</div>'; 
     content += '<div>' + object.price.value + '</div>'; 
    }); 
    $(content).appendTo(".test") 
}); 
+0

解释更多..,问题令人困惑.. – codeGig

+0

你的json有一个错误。 ''newINfo“= 20'应该是''newINfo':20' – AdityaParab

+0

@jitendra所以即时尝试访问API以在我的页面上显示信息。该API是一个不能更改的独立实体。目前大约有30条记录,这些记录正在扩大规模。 我可以通过指定data.entries来访问各个多维数组元素,但是整个数组项不会被链接,所以我不能将价格,名称,描述等等放在一起。 – Paddy

回答

3

entriespriceArray这样你就不会能够直接做object.entries.title。你得遍历像在entriesprice性质,

$.getJSON('/theWebApi', function (data) { 
    var content = ''; 
    $.each(data, function(i, object) { 
     $.each(object.entries, function(k, v){ 
      content += '<div>' + v.title + '</div>'; 
     }); 
     $.each(object.price, function(k, v){ 
      content += '<div>' + v.value + '</div>'; 
     }); 
    }); 
    $(content).appendTo(".test") 
}); 
+0

试过,在CONSOL得到一个错误“jQuery的1.11.1.min.js:2遗漏的类型错误:无法读取的未定义的属性‘长’” – Paddy

+0

这可能是一些不同的错误 – AdityaParab

+0

明白了,是一个分号在错误的地方,总是最小的东西,谢谢你的帮助,非常感谢。你的逻辑非常合理,帮助很大。 – Paddy

0

尝试改用

{ 
    "totalCount": 30, 
    "entries": {"title": "item1","description": "your amazing item 1"}, 
    "price": {"value": "$23.34","discount": "none"}, 
    "newINfo" = 20 
}, 
{ 
    "entries": {"title": "item2","description": "your amazing item 2"}, 
    "price": {"value": "$23.34","discount": "none"}, 
    "newINfo" = 50 
}, 
+0

不能改变API,希望我能,其书面很差 – Paddy

+0

然后试着输入[0] .title伪和价格[0] .value的。这应该工作,假设只有一个条目是预期的条目。 – user883986

0

这可能帮助!

$.getJSON('/theWebApi', function (data) { 
    var content = ''; 

    $.each(data, function(i, v) { 
    $.each(v.entries, function(j, entry) { 
     $.each(v.price, function(j, price) { 
     content += '<div>'+ entry.title +'</div>'; 
     content += '<div>'+ price.value +'</div>'; 
     }); 
    }); 
    }); 

    $('.test').append(content); 
});