首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有JSON的查询语言,允许访问父节点并具有多选功能?

有没有JSON的查询语言,允许访问父节点并具有多选功能?
EN

Stack Overflow用户
提问于 2019-06-04 06:44:33
回答 1查看 1.1K关注 0票数 2

有许多针对JSON的查询语言,比如JMES路径和JSON路径,但是我发现的这些语言中没有一种让我感兴趣,例如JSON路径不允许多选查询(我不能返回具有不同类型元素汽车、飞机、船的列表),而且JMES路径比JSON路径更简单,允许多选,但不允许访问父节点,比如..或parent(@)或$(表示源)。所以我想要一种可以做这两件事的语言,如果有可能像JMES路径一样简单的查询语言,但是如果只有一种并且它是最难的一种,我会选择它!

附言:我是用javascript工作的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-04 08:45:35

jq是一种JSON查询语言,与JSONPath有一些相似之处,但具有图灵完全编程语言的全部通用性。jq包含了所有的JSON,并且它的许多构造都类似于JSON。对JSON数组的形成没有限制。

在jq中处理涉及“父项”和“子项”的问题的方法之一是使用jq路径,jq路径就是JSON数组,其所有元素都是JSON字符串(对应于键名)或整数(对应于数组的索引)。因此,如果$p是指向某个JSON文档的某个子组件的路径,那么指向其父组件的路径就是$p[:-1]

然而,在实践中,许多涉及父母和/或孩子的问题可以在不使用完整路径的情况下更容易地解决。特别要注意的是,to_entries既可以用于JSON对象,也可以用于JSON数组。

资源

main website包括教程、手册和维基,维基有常见问题解答、食谱、“语言描述”和面向JSONPath用户的指南。

在stackoverflow上,目前有超过2,000个问题带有jq标签。另请参阅http://rosettacode.org/wiki/Category:Jq

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56435383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档