我试图通过以下json从以下json中删除重复项id
:
{
"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
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
jq -r 'unique_by(.Result.name)'
Run Code Online (Sandbox Code Playgroud)
还有 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
}
]
}
Run Code Online (Sandbox Code Playgroud)
如果这还不是您想要的,则可以轻松地对此进行概括。例如,为每个{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
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |