My json input is:
{
"zoo": [
{ "room": { "name": "x" }, "gpu": { "id": "fish", "sum": 0 } },
{ "room": { "name": "y" }, "gpu": { "id": "zebra", "sum": 797 } }
]
}
I need to copy from zebra's sum into fish's sum. So, the output will be looked like:
{
"zoo": [
{ "room": { "name": "x" }, "gpu": { "id": "fish", "sum": 797 } },
{ "room": { "name": "y" }, "gpu": { "id": "zebra", "sum": 797 } }
]
}
But, I could not know the order of the table, so, I could not use the tables index. Actually, I need to do it be the field "name".
Again, iterate over all items using .[]
, and use select
to filter for the right ones:
(.zoo[].gpu | select(.id == "fish").sum) =
(.zoo[].gpu | select(.id == "zebra").sum)
Actually, I need to do it be the field "name".
(.zoo[] | select(.room.name == "x").gpu.sum) =
(.zoo[] | select(.room.name == "y").gpu.sum)