gpt4 book ai didi

json - JQ - 使用 unique_by 删除重复项

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

我正在尝试通过 id 从以下 json 中删除重复项
这是json:

{
"Result": [
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 4740302
},
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 272320
},
{
"name": "validation-of-art",
"id": "13",
"status": "passed",
"duration": 272320
}
]
}

这是我尝试过的:
jq -r 'unique_by(.Result.name)'

还有 jq 'unique_by(.Result[].name)'
我收到一个错误 - Cannot index array with string "Result"任何帮助,将不胜感激。

最佳答案

这是一个示例,它消除了除 .Result 之外的所有信息对象使用 unique_by(.name)

$ jq -M '.Result |= unique_by(.name)' data.json
{
"Result": [
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 4740302
}
]
}

如果这不是你想要的,你可以很容易地概括这一点。例如。为每个唯一的对象保留一个对象 {name,id}你可以用
$ jq -M '.Result |= unique_by({name, id})' data.json
{
"Result": [
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 4740302
},
{
"name": "validation-of-art",
"id": "13",
"status": "passed",
"duration": 272320
}
]
}

关于json - JQ - 使用 unique_by 删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397592/

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