Как проверить наличие нулевого или пустого значения в jq и заменить пустую строку в преобразовании jq.
Пример ниже JSON, это JQ
JQ:
.amazon.items[] | select(.name | contains ("shoes")) as $item |
{
activeItem: .amazon.activeitem,
item : {
id : $item.id,
state : $item.state,
status : if [[ $item.status = "" or $item.status = null ]];
then 'IN PROCESS' ; else $item.status end
}
}
JSON:
{
"amazon": {
"activeitem": 2,
"items": [
{
"id": 1,
"name": "harry potter",
"state": "sold"
},
{
"id": 2,
"name": "adidas shoes",
"state": "in inventory"
},
{
"id": 3,
"name": "watch",
"state": "returned"
},{
"id": 4,
"name": "Nike shoes",
"state": "in inventory"
}
]
}
}
Я хочу добавить строку по умолчанию «В процессе», если статус пустой или Нуль.
На основе условия элемента, используя запрос ниже и возьмите первый объект из отфильтрованных результатов.
code
.amazon.items [] | выберите (.name | содержит ("обувь"))
code
Ожидаемый результат:
{
"activeitem": 2,
"item": {
"id": 2,
"name": "adidas shoes",
"state": "in inventory",
"status": "IN PROCESS"
}
}