Вибачення, якщо я пропустив щось дуже очевидне; Я щойно знайшов jq
і намагаюся використовувати його для оновлення одного значення JSON, не впливаючи на навколишні дані.
Я хотів би конвеювати curl
результат jq
, оновити значення та конвеювати оновлений JSON до curl -X PUT
. Щось на зразок
curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json
Поки що я зломлював це разом sed
, але, переглянувши кілька прикладів |=
оператора, jq
я впевнений, що вони мені не потрібні.
Ось зразок JSON - як би я використовував jq
для встановлення "local": false
, зберігаючи решту JSON?
{
"shipping": {
"local": true,
"us": true,
"us_rate": {
"amount": "0.00",
"currency": "USD",
"symbol": "$"
}
}
}
"
разом із ним, наприклад.shipping.local = "new place"
. Тож вся команда будеcurl http://example.com/shipping.json | jq '.shipping.local = "new place"'
. В іншому випадку ви отримаєте дивні помилки.