पायथन क्लासेस JSON को सीरियलाइज़ करने योग्य बनाना
सीरियलाइज़ेशन वस्तुओं को दृढ़ता या स्थानांतरण के लिए उपयुक्त प्रारूप में परिवर्तित करने की अनुमति देता है। JSON में कस्टम कक्षाओं को क्रमबद्ध करने से अक्सर उनकी गैर-JSON-क्रमबद्ध प्रकृति के कारण टाइप एरर होता है।
एक toJSON() विधि को लागू करना
एक दृष्टिकोण एक वर्ग के लिए toJSON() विधि, जो मैन्युअल रूप से इसके क्रमांकन को संभालती है। इसके लिए एक कस्टम JSON क्रमबद्धता फ़ंक्शन को लागू करने और नेस्टेड ऑब्जेक्ट्स की उचित हैंडलिंग सुनिश्चित करने की आवश्यकता है।
import json class FileItem: def __init__(self, fname): self.fname = fname def toJSON(self): return json.dumps(self.__dict__) x = FileItem('/foo/bar') print(x.toJSON()) # Outputs: '{"fname": "/foo/bar"}'
ऑर्जसन लाइब्रेरी का उपयोग करना
एक व्यापक के लिए समाधान, ऑर्जसन लाइब्रेरी का उपयोग करने पर विचार करें, जो JSON में कस्टम कक्षाओं को क्रमबद्ध करने का एक कुशल और अनुकूलन योग्य तरीका प्रदान करता है। यह जटिल ऑब्जेक्ट संरचनाओं के लिए स्कीमा प्रवर्तन और समर्थन जैसी उन्नत सुविधाएं प्रदान करता है।
import orjson @orjson.dataclass class FileItem: fname: str x = FileItem('/foo/bar') json_bytes = orjson.dumps(x) # Returns a byte string print(json_bytes.decode()) # Outputs: '{"fname": "/foo/bar"}'
निष्कर्ष
एक कस्टम toJSON का उपयोग करना() विधि या ऑर्जसन लाइब्रेरी पायथन कक्षाओं को JSON में क्रमबद्ध करने के लिए सुविधाजनक समाधान प्रदान करती है। दोनों दृष्टिकोण यह सुनिश्चित करते हैं कि वस्तुओं को JSON प्रारूप में प्रभावी ढंग से प्रस्तुत और प्रसारित किया जा सकता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3