मैं एक हैश को क्रमबद्ध और deserialize करने की कोशिश कर रहा हूँ। जब हैश deserailized है, चाबियाँ डी-प्रतीक हैं; जैसे अधिक नहीं: एक, बल्कि "एक"।ActiveSupport :: JSON डीकोड हैश खोने वाले प्रतीकों
रेल कंसोल से:
>>h = { :one =>1, :two => "two"}
{:one=>1, :two=>"two"}
>>j = ActiveSupport::JSON.encode(h)
"{\"one\":1,\"two\":\"two\"}"
>>h2 = ActiveSupport::JSON.decode(j)
{"one"=>1, "two"=>"two"}
>>h2[:one]
nil
>>h[:one]
1
मैं अब के लिए Marshal.dump/लोड का उपयोग कर अपना ली है। हालांकि, मैं यह देखने के लिए वहां फेंकना चाहता था कि JSON में इसे रखने का कोई तरीका था (केवल पठनीयता के लिए)।
नोट: इस कुंजी का प्रतीक नहीं है रिकर्सिवली। – TelegramSam
न ही जेएसओएन ऑब्जेक्ट्स युक्त एक सरणी के लिए काम करता है i.e. '[{'id': 1}, {'id': '2'}, ...]'। टिम कूल समाधान काम करता है। – laffuste