gpt4 book ai didi

json - 如何仅显示不是 jq 1.3 版数组或对象的顶级 JSON 条目?

转载 作者:行者123 更新时间:2023-12-04 01:41:03 24 4
gpt4 key购买 nike

我有一个 JSON 结构,我只想打印简单类型的条目,例如不是数组或对象。

示例输入:

{
"person": {
"address": {
"city": "NY",
"street": "Wall Street"
},
"god": true,
"nicks": [
"Lar",
"L",
"Yo"
],
"name": "Larry",
"id": 1
}
}

预期输出:

"god": true,
"name": "Larry",
"id": 1

我尝试了很多不同的变体,但都没有用:

jq '.person |与条目(.) |选择( map (类型)!=“数组”和 map (类型)!=“对象”)'

请注意,我使用的是 jq 1.3 版。

在此先感谢您的帮助。

最佳答案

您实际上并没有对那里的 with_entries 调用做任何事情。但你可能应该在那里过滤。过滤值类型既不是数组也不是对象的条目。

.person | with_entries(select(.value | type | . != "array" and . != "object"))

如果您使用的是较新版本的 jq,则可以使用 scalars 内置函数进行过滤,它可以有效地执行相同的操作。

.person | with_entries(select(.value | scalars))

关于json - 如何仅显示不是 jq 1.3 版数组或对象的顶级 JSON 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57400852/

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