遍历复杂的JSON以查找匹配项并返回关联的数据

时间:2018-08-27 21:00:49

标签: javascript loops filter

我有一个复杂的JSON,其设置如下:

var data = [
{
    "source": {
            "data":[
                {"name":"A", "type":"main"}
            ]
    },
    "target": {
            "data":[
                {"name":"B", "type":"tech"}
            ]
    }
},
{
    "source": {
            "data":[
                {"name":"B", "type":"tech"}
            ]
    },
    "target": {
            "data":[
                {"name":"C", "type":"software engineer"}
            ]
    }
},
{
    "source": {
            "data":[
                {"name":"B", "type":"tech"}
            ]
    },
    "target": {
            "data":[
                {"name":"D", "type":"systems engineer"}
            ]
    }
}
]

基本上,每个条目都设置有“源”和“目标”。每个源和目标都有一个“数据”部分,用于解释节点详细信息以及有关已连接节点(“父”和“子”)的信息。

对于我的问题,我希望能够遍历较大的JSON,并在“ target”下找到名称匹配项,并根据需要返回所有相邻信息,例如data [i] .target.data.name )。

关于如何实现此目标的想法?我认为这应该和使用过滤器一样容易,但是我对此有些麻烦。

在此JSFiddle上检查控制台以获取完整输出:https://jsfiddle.net/KateJean/7o3suadx/

谢谢

1 个答案:

答案 0 :(得分:0)

这将返回数据的所有元素,其中target.data.name等于str中的字符串:

android:focusable="true"
android:focusableInTouchMode="true"