我有一个像这样的json文件:
[
{
"X_id": [ "id1" ],
"contents.value": [ "AA" ],
"contents.count": [ 95 ]
},
{
"X_id": [ "id2" ],
"contents.value": [ "BB" ],
"contents.count": [ 41 ]
},
{
"X_id": [ "id3" ],
"contents.value": [ "CC" ],
"contents.count": [ 36 ]
},
{
"X_id": [ "id4" ],
"contents.value": [ "DD" ],
"contents.count": [ 4 ]
},
{
"X_id": [ "id5" ],
"contents.value": [ "EE" ],
"contents.count": [ 33 ]
}
]
我希望在我的html页面上显示这些值,对于测试我首先尝试在控制台中显示它们:
$.getJSON("example.json", function(data) {})
.done(function(data) {
$.each(data.items, function(i, item) {
console.log(item.contents.value);
});
})
.fail(function() {
console.log("error");
})
.always(function(data) {
console.log(data);
});
但我收到此错误消息:
TypeError:a未定义
... rCase()},每个:功能(A,C,d){风险 E,F = 0,G =则为a.length,H =克=== b || p.isFunction的(a);如果(d ...
我该如何解决这个问题?
答案 0 :(得分:1)
您的数据是一个对象数组。但您正试图将data.items
传递给$.each
。数组没有这样的属性:
> var data = [];
> data.items
undefined
您可能希望将data
本身传递给$.each
。
另见Access / process (nested) objects, arrays or JSON。
Wrt console.log(item.contents.value);
(这是错误的),看看How to access object properties containing special characters?。
答案 1 :(得分:0)
阵列没有items
属性。只需使用data
代替:
$.getJSON("example.json", function(data) {})
.done(function(data) {
$.each(data, function(i, item) {
console.log(item.contents.value);
});
})
.fail(function() {
console.log("error");
})
.always(function(data) {
console.log(data);
});
答案 2 :(得分:0)
下面的代码工作正常检查一次,为什么因为获取json数据而得到错误是数组对象不是那么需要传递数据[0]然后你可以迭代,在键值对中值又是数组。
brand=$(awk -F '|' '/CONNECT/ {latest = $3} END {print latest}')