0

我正在尝试使用 jquery 解析此 JSON 文件以访问设置为“true”的“onpage”字段。然后使用该项目中的其他字段(描述、图标、名称和 url)。我可以进入“项目”,但可以弄清楚如何进入“项目”内的“页面”。谢谢

[
{
    "group": "Home",
    "url": "http://www.home.com/"
},
{
    "group": "Production",
    "items": [
        {
            "onpage": true,
            "desc": "View local trails",
            "icon": "img/trails.png",
            "name": "Trails",
            "url": "https://www.home.com/go/Trails"
        },
        {
            "onpage": false,
            "desc": "Edit local trail",
            "icon": "img/traileditor.png",
            "name": "Trail Editor",
            "url": "https://www.home.com/go/Editor/"
        }
    ]
}

]

4

1 回答 1

1

一旦你解析了它,你就有了一个包含两个对象的数组。这些对象中的第二个具有一个属性 ,items它是一个对象数组。该items数组中的第一个条目onpage等于true。所以直接路径是:

itemWithOnPageTrue = theParsedData[1].items[0];

如果你需要找到它,你可能会使用一对循环:

var itemWithOnPageTrue;
$.each(theParsedData, function() {
    var found;
    if (this.items) {
        $.each(this.items, function() {
            if (this.onpage) {
                itemWithOnPageTrue = this;
                found = true;
                return false;
            }
        });
        if (found) {
            return false;
        }
    }
});

$.each如果您返回 false,将停止循环,这就是我们在找到第一个匹配项时这样做的原因。如果您不返回任何内容或返回不同的值,它将继续循环。

拥有itemWithOnPageTrue后,您可以访问其其他属性,例如itemWithOnPageTrue.desc,itemWithOnPageTrue.icon等。

于 2013-04-03T17:12:08.190 回答