在JSON中查找特定的子元素

时间:2014-12-28 20:50:07

标签: javascript json angularjs

我正在尝试显示一个按钮,仅当json对象包含元素hidden: true

但是,子元素是随机的。

draw": { "item": { "aircraft": { "hidden": false} }
draw": { "item": { "mounted": { "hidden": false} }

我正在重复这个json,因为我不知道它是aircraft还是mounted我不能做这样的事情

<button ng-if="json.draw.item.next.hidden" />

我该怎么说&#34;给我下一个元素,不知道名字&#34;?

1 个答案:

答案 0 :(得分:3)

您可以创建如下函数:

function next(obj) {
    var keys = Object.keys(obj);
    if(keys && keys.length > 0) return obj[keys[0]];
}

使用它:

next(json.draw.item).hidden

我用Angular.js测试它是好的。(see also jsFiddle

请参阅下面的代码段。

    function next(obj) {
        var keys = Object.keys(obj);
        if(keys && keys.length > 0) return obj[keys[0]];
    }
var draw1 = { "item": { "aircraft": { "hidden": false} }};
var draw2 = { "item": { "mounted": { "hidden": false} }};

document.write(next(draw1.item).hidden, '<br>');
document.write(next(draw2.item).hidden, '<br>');