Appologies nếu tôi đã bỏ qua một cái gì đó rất rõ ràng; Tôi vừa tìm thấy jq
và đang cố gắng sử dụng nó để cập nhật một giá trị JSON mà không ảnh hưởng đến dữ liệu xung quanh.
Tôi muốn chuyển một curl
kết quả vào jq
, cập nhật một giá trị và chuyển JSON đã cập nhật thành a curl -X PUT
. Cái gì đó như
curl http://example.com/shipping.json | jq '.' field: value | curl -X PUT http://example.com/shipping.json
Cho đến nay tôi đã hack nó cùng nhau bằng cách sử dụng sed
, nhưng sau khi xem xét một vài ví dụ về |=
toán tử trong jq
tôi chắc chắn rằng tôi không cần những điều này.
Đây là một mẫu JSON - tôi sẽ sử dụng cách nào jq
để đặt "local": false
, trong khi vẫn giữ nguyên phần còn lại của JSON?
{
"shipping": {
"local": true,
"us": true,
"us_rate": {
"amount": "0.00",
"currency": "USD",
"symbol": "$"
}
}
}
"
với nó, chẳng hạn như.shipping.local = "new place"
. Vì vậy, toàn bộ lệnh sẽ đượccurl http://example.com/shipping.json | jq '.shipping.local = "new place"'
. Nếu không, bạn sẽ gặp những lỗi lạ.