मेरे पास एक 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
यहाँ बेहतर है।