如何获取匹配对象的对象数组和json对象

时间:2016-08-30 12:27:40

标签: javascript jquery

这是我的对象。我只需要访问“oname”:“Fon”和“bid”:1个对象详细信息。无需访问“出价”:“2”对象详细信息

{
    "oid": "1",
    "oname": "Fon",
    "bun": [{
        "bid": "1",
        "bname": "Ets",
        "dep": [{
            "did": "1",
            "dname": "Dptment",
            "pids": [{
                "pid": "1",
                "st": "active"
            }, {
                "pid": "2",
                "st": "active"
            }]
        }]
    }, {
        "bid": "2",
        "bname": "US",
        "description": "unit2",
        "dep": []
    }]
}

3 个答案:

答案 0 :(得分:1)

您可以使用filter方法获取所需数据

 var arr = {
            "oid": "1",
            "oname": "Fon",
            "bun": [{
                "bid": "1",
                "bname": "Ets",
                "dep": [{
                    "did": "1",
                    "dname": "Dptment",
                    "pids": [{
                        "pid": "1",
                        "st": "active"
                    }, {
                        "pid": "2",
                        "st": "active"
                    }]
                }]
            }, {
                "bid": "2",
                "bname": "US",
                "description": "unit2",
                "dep": []
            }]
        }

var oname = arr.oname;
var data = arr.bun.filter(function (a) { return a.bid == "1" });

答案 1 :(得分:0)

您可以使用waitForVisibility(element);//find by element 获取所需数据的子集:

filter

使用您希望拥有的数据创建一个新对象

data.bun.filter(function(d){ if( d.bid == 1 ) return true; } );

答案 2 :(得分:0)

您可以在javascript中使用括号表示法,例如

var key = "oname";
var value = json[key];