Przepraszam, jeśli przeoczyłem coś bardzo oczywistego; Właśnie znalazłem jq
i próbuję go użyć do zaktualizowania jednej wartości JSON bez wpływu na otaczające dane.
Chciałbym przesłać curl
wynik do jq
, zaktualizować wartość i przesłać zaktualizowany kod JSON do pliku curl -X PUT
. Coś jak
curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json
Do tej pory zhakowałem to razem za pomocą sed
, ale po obejrzeniu kilku przykładów |=
operatora w jq
jestem pewien, że ich nie potrzebuję.
Oto przykład JSON - jak użyłbym jq
ustawienia "local": false
, zachowując resztę JSON?
{
"shipping": {
"local": true,
"us": true,
"us_rate": {
"amount": "0.00",
"currency": "USD",
"symbol": "$"
}
}
}
"
, na przykład.shipping.local = "new place"
. Więc całe polecenie będziecurl http://example.com/shipping.json | jq '.shipping.local = "new place"'
. W przeciwnym razie otrzymasz dziwne błędy.