Я могу легко условно установить поле в null
:
echo '{"id": 1, "more": "fields"}' \
| jq '{newId: (if .id == 1 then null else .id end), newMore: .more}'
приводит к
{
"newId": null,
"newMore": "fields"
}
Но как я могу условно удалить его? Я ищу что-то вроде:
echo '{"id": 1, "more": "fields"}' \
| jq '{
newId: (if .id == 1 then <special-value> else .id end),
newMore: .more
}'
, чтобы получить
{
"newMore": "fields"
}
Существует ли такой <special-value>
? Если нет, каковы другие жизнеспособные решения? В идеале они также должны использоваться для больших объектов со многими дополнительными и вложенными полями.