给出以下对象图:
{
"children": [
{
"child": {
"pets": [
{
"pet": {
"name": "fido"
}
},
{
"pet": {
"name": "fluffy"
}
}
]
}
},
{
"child": {
"pets": [
{
"pet": {
"name": "spike"
}
}
]
}
}
]
}
收集我孙子的宠物名字会是一个很好的单行(或两行)吗?结果应该是[“fido”,“蓬松”,“尖峰”]
我不想为此编写自定义方法...我正在寻找类似于jQuery在选择dom节点时的工作方式,在这里你可以给它一个类似CSS的路径并将它们收集起来你。
我希望表达路径看起来像“儿童宠物宠物名字”
答案 0 :(得分:2)
LINQ to JavaScript(JSLINQ)是用JavaScript实现的LINQ to Objects的实现。它是使用构建在JavaScript Array对象之上的一组扩展方法构建的。如果您使用的是Array,则可以使用LINQ to JavaScript。
LINQ to JavaScript是一个开源项目,你可以从这里下载:http://jslinq.codeplex.com/
希望这会有所帮助......
取值
答案 1 :(得分:1)
如果您不想使用库,这是我能想到的最简洁的编写方式。
var Ar=[];
p.children.map(function(a){a.child.pets.map(function(a){Ar.push(a.pet.name)})});
答案 2 :(得分:0)
我选择JSONPath library,就像XPath for JSON一样。 LINQ似乎对我的需求有点重量级,导致语法更加冗长,尽管它看起来更强大。也许如果我的需求发生变化,我会升级。