Mohon maaf jika saya telah melewatkan sesuatu yang sangat jelas; Saya baru saja menemukan jqdan mencoba menggunakannya untuk memperbarui satu nilai JSON tanpa memengaruhi data di sekitarnya.
Saya ingin menyalurkan curlhasil 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 jqsaya yakin saya tidak memerlukan ini.
Berikut adalah contoh JSON - bagaimana saya akan menggunakan jquntuk 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.