gpt4 book ai didi

json - bash JQ。如何从包含对象列表的 json 文件修改键值对?

转载 作者:行者123 更新时间:2023-11-29 09:21:27 27 4
gpt4 key购买 nike

我正在使用 jq 处理大型 json 文件。它看起来像这样:

FILE1.json

{
"person": [
{
"name": "sam",
"age": "40",
"weight": "180",
"height": "6"
},
{
"name": "peter",
"age": "41",
"weight": "180",
"height": "6.1"
},
{
"name": "mike",
"age": "40",
"weight": "200",
"height": "5.9"
},
{
"name": "ethan",
"age": "41",
"weight": "190",
"height": "6"
}
]
}

我想使用 jq 工具将名称为“mike”的权重值从 200 更改为 195。
我该怎么做?

最佳答案

想法是更新 person 数组,其中名称为 "mike" 的对象将被修改为具有 weight "195"。否则它会被跳过。

.person |= map(
if .name == "mike"
then .weight = "195"
else .
end)

或者更简洁地说,搜索要更新的人并更新他们:

(.person[] | select(.name == "mike")).weight = "195"

关于json - bash JQ。如何从包含对象列表的 json 文件修改键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149012/

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