AngularJS从JSON中提取动态匹配数据

时间:2014-09-22 23:33:00

标签: angularjs filter

我有一个动态的复杂JSON,就像这样

 var source = [{
        "ab" : 123,    
        "xfg" : {
            "cdf" : "xyz",
            "e" : [{"aaa" : "bbb"}, {"ccc" : "ccc"}]
        },
        "mno" : ["fff", "123"]
    }];

如何使用给定搜索对象中的某些动态表达式从此JSON中提取数据:

var search= {
    "search1" : "ab",
    "search2" : "xfg.cdf",  
    "search3" : "ccc value in xfg.e?",  
}

基本上,我可以分析搜索对象中每个元素的类型,如果它是一个字符串,则将其拆分为“。”分隔符,然后访问源对象中的元素... 但复杂的搜索表达式呢?例如,如何获得'ccc'值?有没有办法实现复杂的搜索表达式?像mongodb中找到的功能?

由于

1 个答案:

答案 0 :(得分:0)

我还没有用过这个,但演示看起来非常好。它基本上是JSON的css类型选择器:JSONSelect

对于更多XPath样式,请尝试JSONPath,它看起来也非常强大。 JSONPath

两者都是Javascript库,很容易包含在您的项目中。