当在复杂的JSON数组和散列中搜索项时,比如:
[
{ "id": 1, "name": "One", "objects": [
{ "id": 1, "name": "Response 1", "objects": [
// etc.
}]
}
]
是否有某种查询语言,我可以用来在[0]中找到一个项目。id = 3的对象?
当在复杂的JSON数组和散列中搜索项时,比如:
[
{ "id": 1, "name": "One", "objects": [
{ "id": 1, "name": "Response 1", "objects": [
// etc.
}]
}
]
是否有某种查询语言,我可以用来在[0]中找到一个项目。id = 3的对象?
当前回答
Json指针似乎也得到了越来越多的支持。
其他回答
JMESPath现在似乎非常流行(截至2020年),并解决了JSONPath的许多问题。它适用于许多语言。
为了增加更多的选择,还有XPath。XPath 3.1处理JSON和XML。在XPath 3.1中,您需要的查询是?0?Objects?*[?id = 3)
索纳塔 https://jsonata.org/
它有一个操场,你可以下载图书馆
是的,它叫做JSONPath:
它还集成到DOJO中。
@Naftule -使用" defy .js",可以用XPath表达式查询JSON结构。看看这个计算器,了解它是如何工作的:
http://www.defiantjs.com/#xpath_evaluator
与JSONPath不同,“defy .js”提供了对查询语法的全面支持——对JSON结构上的XPath。
defy .js的源代码可以在这里找到: https://github.com/hbi99/defiant.js