【问题标题】:Cannot access nested json key value无法访问嵌套的 json 键值
【发布时间】:2014-02-11 12:29:10
【问题描述】:

我的 json 结构: http://snag.gy/da0nf.jpg

我的 jquery: (http://jsfiddle.net/EAcs9/2/)

var wotAPI = "http://api.worldoftanks.com/2.0/clan/info/?";
$.getJSON( wotAPI, {application_id: "16924c431c705523aae25b6f638c54dd",clan_id: "1000013300"})

.done( function( jsonData ) {
$.each( jsonData.data, function( i ) { 
        $('#result').append(i);
    });
});

我想迭代我的 JSON 对象中的成员并访问每个成员以获取他们的 account_name。我似乎无法让它工作。有人可以看看告诉我如何解决这个问题。我想我在这里遗漏了一个概念。

【问题讨论】:

标签: getjson each


【解决方案1】:

您真正的问题在于这段代码。它应该做什么,因为我不认为它正在做你认为它正在做的事情。

function getObjects(obj, key, val) {
    var objects = [];
    for (var i in obj) {
        if (!obj.hasOwnProperty(i)) continue;

        if (typeof obj[i] == 'object') {
            objects = objects.concat(getObjects(obj[i], key, val));
        } else if (i == key && obj[key] == val) {
            objects.push(obj);
        }
    }

    return objects;
}

看起来对象在每次递归迭代时都被重置为空数组。

【讨论】:

  • 我指的是 jsfiddle.net/EAcs9/2 我正在玩你评论过的 /1/ 版本。在我设法更正网址之前,您的回复非常迅速。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
  • 2018-10-29
相关资源
最近更新 更多