यदि मैंने कुछ स्पष्ट की अनदेखी की है, तो एप्लाइड; मैंने अभी पाया है 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 नमूना है - मैं JSON के बाकी हिस्सों को संरक्षित करते हुए कैसे jqसेट करूँगा "local": false?
{
"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"'। अन्यथा, आपको अजीब त्रुटियां मिलेंगी।