/ / रूबी पार्स के बाद अपडेट करें json स्ट्रिंग - माणिक, जॉन्स, पार्सिंग

रूबी पार्स के बाद जेसन स्ट्रिंग अपडेट करें - रूबी, जेसन, पार्सिंग

मेरे पास एक JSON ऑब्जेक्ट है और मैंने इसे पार्स किया हैमाणिक। अब मुझे बदले हुए मूल्यों के साथ JSON ऑब्जेक्ट को अपडेट करने की आवश्यकता है। मुझे JSON_STR को नए मान "परीक्षण" के साथ अपडेट करने की आवश्यकता है। यह मूर्खतापूर्ण लग सकता है, लेकिन मुझे यह नहीं मिल रहा है।

require "json"
obj = JSON.parse(JSON_STR)
obj.each do |doc|
doc["ref"] = "testing"
end

उत्तर:

जवाब के लिए 0 № 1

दस्तावेज़ को संग्रहीत करने से आप एक के रूप में संशोधित करने का प्रयास कर रहे हैंनिरंतर सबसे अच्छा कदम नहीं हो सकता है, यह चीजों को और अधिक जटिल बनाता है, लेकिन यह किया जा सकता है। आपको बस अपनी संशोधित वस्तु के JSON अनुक्रमित संस्करण के साथ स्ट्रिंग के मूल्य को फिर से असाइन करने की आवश्यकता है:

JSON_STR.replace(JSON.dump(obj))

यह तभी काम करेगा जब JSON_STR जमे हुए नहीं है, और स्थिरांक अक्सर होते हैं, इसलिए यदि आपको त्रुटियां मिलती हैं, तो देखें

नोट के रूप में obj आपके चर के लिए एक बहुत ही भयानक नाम है। कोशिश करो और समझाओ कि यह क्या है। यहाँ तक की entries या docs यहाँ बेहतर है।