{"name":"John","age":30,"city":"New York"}
我有这个JSON数据:
{
"success": true,
"module": {
"data": {
"item_i77f664a2": {
"id": "i77f664a2",
"tag": "item",
"fields": {
"cartItemId": 2012636322
},
"type": "biz"
}
}
}
}
我希望在cartItemId
下面添加{"operation":"delete"}
,然后将JSON数据保存到文件中。我想要的结果是这样的:
{"cartItem": {"itemId": 12345,"quantity": 1,"operation": "delete"}}
{
"success": true,
"module": {
"data": {
"item_i77f664a2": {
"id": "i77f664a2",
"tag": "item",
"fields": {
"cartItemId": 2012636322,
"operation": "delete"
},
"type": "biz"
}
}
}
}
这是我尝试过的:
jq '.module.data.item_i77f664a2.fields + {"operation":"delete"}' > data.json
但它并没有保存我想要的输出JSON数据。我该如何解决?
cartItemId
属性之后添加这个新属性吗?(例如,假设有多个fields
而不仅仅是一个。 - Josh M.+
是多态的:它既可以用于合并对象,也可以用于连接数组等。如果这不能回答你的问题,或许你想要提一个新的SO问题... - peak