gpt4 book ai didi

json - 有没有办法获取 JSON 值中特定元素的路径?

转载 作者:行者123 更新时间:2023-12-05 02:06:08 25 4
gpt4 key购买 nike

给定 jq 手册中的这个简单示例:

[    
{
"name":"JSON",
"good":true
},
{
"name":"XML",
"good":false
}
]

使用这个表达式:

.[1].name

我得到 "XML" 作为输出。

还有问题:例如,在 xpath 中,有一些方法可以做相反的事情:给定一个元素,xpath 函数将 xpath 返回到文档中的元素。有没有办法用jq做到这一点?也就是说,给定“XML”,有没有办法得到

.[1].name

作为输出?

我知道 getpath(PATHS) 函数,但除非我遗漏了什么,否则不是它。

最佳答案

就我而言,JQ 仍然没有内置的。但是,如果 .[1]["name"] 格式的路径也可以接受,那就很简单了:

  • 使用内置的path获取数组形式的路径,
  • 用双引号将每个字符串类型的路径组成部分括起来; tojson 可以用于此,
  • 通过][加入所有组件,
  • 并将结果放在.[]之间。
path(recurse | select(.=="XML")) | ".[\(map(tojson) | join("]["))]"

Online demo

关于json - 有没有办法获取 JSON 值中特定元素的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62955547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com