मैंने सीरियलाइजेशन और सत्यापन के बारे में पिछले प्रश्न पूछा। किसी ने JSON मणि का उपयोग करके उल्लेख किया है जो मुझे to_json
विधि के साथ क्रमबद्ध करने के लिए मेरी वस्तु को बताने की अनुमति देता है, हालांकि रुबी जटिल चीजों की बहुत सी चीजें वास्तव में आसानी से करता है, हालांकि फ्लिप पक्ष पर कुछ वास्तव में सरल चीजें काफी जटिल लगती हैं, सीरियलाइजेशन उन चीजों में से एक।जेएसओएन, एक्सएमएल, वाईएएमएल को ऑब्जेक्ट को सीरियलाइज करना?
मैं पता लगाने के लिए अगर वहाँ एक स्वच्छ वस्तु है के लिए एक रास्ता है चाहता हूँ:
class CleanClass
attr_accessor :variable1
attr_accessor :variable2
attr_accessor :variable3
end
cleanObject = CleanClass.new
आदर्श रूप में, मैं नहीं चाहता कि गंदा मॉडल करना चाहते हैं, मैं सिर्फ कुछ करने के लिए इसे पास करना चाहते हैं और यह बताएं कि आउटपुट प्रकार क्या होना चाहिए और इसे अपने जादू को काम करने दें।
एक उदाहरण कुछ की तरह:
jsonOutput = MagicSerializer::Json.Serialize(cleanObject)
xmlOutput = MagicSerializer::Xml.Serialize(cleanObject)
yamlOutput = MagicSerializer::Yaml.Serialize(cleanObject)
revertedJsonObject = MagicSerializer::Json.Unserialize(jsonOutput)
revertedXmlObject = MagicSerializer::Xml.Unserialize(xmlOutput)
revertedYamlObject = MagicSerializer::Yaml.Unserialize(yamlOutput)
मैं कुछ एक वस्तु पारित करने के लिए चाहते हैं, और तार outputted मिलता है, फिर इसे वापस कन्वर्ट करने में सक्षम हो।
मुझे पता है कि ActiveModel में क्रमबद्धता कार्यक्षमता है लेकिन मुझे ऐसा करने के लिए मेरी कक्षा को गंदे करने की आवश्यकता है, और यदि संभव हो तो मैं मॉडल को बदलना नहीं चाहता हूं। ActiveSupport JSON मानदंडों को पूरा करने के लिए प्रतीत होता है क्योंकि मैं इसे बस कॉल कर सकता हूं और यह एक ऑब्जेक्ट लेगा और JSON को थूक देगा, लेकिन मैं अन्य प्रकारों का समर्थन करना चाहता हूं।
कोई और जानकारी बहुत अच्छी होगी!
'JSON.dump (ऑब्जेक्ट) 'और' JSON।पार्स (स्ट्रिंग) ' – Kris