मैं ऑब्जेक्ट्स के जेसन सरणी को स्ट्रिंग्स के रूप में उन ऑब्जेक्ट्स के साथ बैश सरणी में कैसे पार्स करूं? बाहर विशिष्ट वस्तुओं के बजाय लाइनोंमैं json सरणी को jq के साथ स्ट्रिंग्स के बैश सरणी में कैसे परिवर्तित करूं?
CONVO=$(get_json_array | jq '.[]')
for CONVERSATION in $CONVERSATIONS
do
echo "${CONVERSATION}"
done
लेकिन गूंज प्रिंट:
मैं निम्न कार्य करने की कोशिश कर रहा हूँ। वस्तु का स्वरूप है:
{ "key1":"value1", "key2": "value2"}
और मैं एक api के लिए इसे पारित करने की जरूरत है:
api_call '{ "key1":"value1", "key2": "value2"}'
+1। पुन: "जब तक कोई नई लाइन किसी ऑब्जेक्ट में मान्य वर्ण नहीं है": चूंकि ये JSON ऑब्जेक्ट्स हैं, यह कोई चिंता नहीं है। – ruakh
आह, मैं गलत धारणा के तहत था कि एक हैश मान में एक नई लाइन दिखाई दे सकती है, लेकिन ऐसा लगता है कि उन्हें '\ n' के रूप में एन्कोड किया जाना आवश्यक है। – chepner
यदि आप 'jq -r' के बजाय' jq -j' का उपयोग करते हैं, तो JQ द्वारा स्वयं को कोई विभाजक नहीं जोड़ा गया है, ताकि आप अपने जेक कोड से अपना स्वयं का (जैसे एनयूएल अक्षर) जोड़ सकें। –