Mohon maaf jika saya telah melewatkan sesuatu yang sangat jelas; Saya baru saja menemukan jq
dan mencoba menggunakannya untuk memperbarui satu nilai JSON tanpa memengaruhi data di sekitarnya.
Saya ingin menyalurkan curl
hasil ke jq
, memperbarui nilai, dan menyalurkan JSON yang diperbarui ke curl -X PUT
. Sesuatu seperti
curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json
Sejauh ini saya telah meretasnya bersama-sama menggunakan sed
, tetapi setelah melihat beberapa contoh |=
operator di jq
saya yakin saya tidak memerlukan ini.
Berikut adalah contoh JSON - bagaimana saya akan menggunakan jq
untuk menyetel "local": false
, sambil mempertahankan JSON lainnya?
{
"shipping": {
"local": true,
"us": true,
"us_rate": {
"amount": "0.00",
"currency": "USD",
"symbol": "$"
}
}
}
"
, seperti.shipping.local = "new place"
. Jadi seluruh perintah akan menjadicurl http://example.com/shipping.json | jq '.shipping.local = "new place"'
. Jika tidak, Anda akan mendapatkan kesalahan aneh.