gpt4 book ai didi

json - 如何使用 jq 从子数组创建具有任意键的对象?

转载 作者:行者123 更新时间:2023-12-04 22:29:21 26 4
gpt4 key购买 nike

请随意编辑标题,我不知道如何最好地表达它:)。

例如,我有一个 JSON,它看起来像这样:

{
"things": [
{
"name": "foo",
"params": [
{
"type": "t1",
"key": "key1",
"value": "val1"
},
{
"type": "t1",
"key": "category",
"value": "thefoocategory"
}
]
},
{
"name": "bar",
"params": [
{
"type": "t1",
"key": "key1",
"value": "val1"
},
{
"type": "t1",
"key": "category",
"value": "thebarcategory"
}
]
}
]
}

我想要实现的是输出看起来像
[
{
name: "foo",
category: "thefoocategory"
},
{
name: "bar",
category: "thebarcategory"
}
]

我可以很容易地使用 jq ' .things | .[] | .name' 提取名称

我还可以使用 jq ' .things | .[] | .params | .[] | select(.key == "category") | .value' 提取类别

但我无法将它们结合起来。

任何帮助表示赞赏

最佳答案

这实际上是相对简单的:

.things | .[] | {name: .name, category: .params | .[] | select(.key=="category") | .value }

关于json - 如何使用 jq 从子数组创建具有任意键的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37864617/

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