假设我有一个看起来像这样的JSON对象,称为“价格”
"Scrap Metal": {
"defindex": [
5000
],
"prices": {
"3": {
"Tradable": {
"Craftable": {
"0": {
"currency": "keys",
"value": 432,
"last_update": 1425334795,
"difference": 3491.64
}
}
}
},
"6": {
"Tradable": {
"Craftable": {
"0": {
"currency": "metal",
"value": 0.11,
"last_update": 1336410088,
"difference": 0
}
}
}
}
}
},
这样的结构类似,但值不同。我想搜索defindex: 5000
值,然后从value
获取6
。换句话说,如果我通过搜索defindex知道代码在哪里,我会打电话给"name".prices[6].Tradable.Craftable[0].value
。
我尝试使用underscore.js,但它没有用。我的代码是:
_.where(prices, { defindex: '5000' });
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
我使用#find允许你使用一个函数,遍历每个键/值对,其中值将是顶键指向的值。
_.find(prices, function(value, key) {
return (value.defindex == "5000")
})
答案 1 :(得分:0)
由于您可能有各种各样的可能查询并且您正在使用下划线,因此您可能需要https://github.com/davidgtonge/underscore-query,因为它提供类似Mongo的查询语法: