Я хотел бы использовать JQ для изменения следующего ввода JSON:
{
"rows": [
{
"fields": [
{
"name": "id",
"value": "k1"
},
{
"name": "val",
"value": "2340378b211aa3d8f2d7607cbddce883b87b191d0425736641e3d308ea329718"
},
{
"name": "Encoding",
"value": "hex"
}
]
},
{
"fields": [
{
"name": "id",
"value": "k2"
},
{
"name": "val",
"value": "2340378b211aa3d8f2d7607cbddce883b87b191d0425736641e3d308ea329718"
},
{
"name": "Encoding",
"value": "hex"
}
]
}
]
}
, чтобы значение "hex"
поля "value"
с именем "Encoding"
было изменено на "oct"
только для строки, содержащей поле с .name=="id" and .value=="k1"
.
Как бы я это сделал?Я могу select
поле с .value=="k1"
и т. Д., Но я не могу найти способ "подняться по дереву", чтобы впоследствии обновить поле "Encoding"
.
Вводнельзя ожидать, чтобы иметь фиксированный порядок полей / строк.