"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन और जावास्क्रिप्ट के बीच JSON में डेटटाइम ऑब्जेक्ट को क्रमबद्ध और डिसेरिएलाइज़ कैसे करें

पायथन और जावास्क्रिप्ट के बीच JSON में डेटटाइम ऑब्जेक्ट को क्रमबद्ध और डिसेरिएलाइज़ कैसे करें

2024-11-08 को प्रकाशित
ब्राउज़ करें:208

How to Serialize and Deserialize Datetime Objects in JSON Between Python and JavaScript

पायथन और जावास्क्रिप्ट के बीच JSON में डेटटाइम ऑब्जेक्ट को संभालना

पाइथन और जावास्क्रिप्ट के बीच डेटा का आदान-प्रदान करते समय, डेटटाइम ऑब्जेक्ट का सामना करना आम बात है। इन ऑब्जेक्टों के निर्बाध क्रमबद्धता और डिसेरिएलाइज़ेशन को सुनिश्चित करने के लिए, विभिन्न तरीकों को नियोजित किया जा सकता है।

एक अनुशंसित विधि में डेटाटाइम ऑब्जेक्ट्स को संभालने के लिए पायथन में json.dumps के 'डिफ़ॉल्ट' पैरामीटर का उपयोग करना शामिल है। यह पैरामीटर एक हैंडलर फ़ंक्शन के विनिर्देश को सक्षम करता है जो डेटाटाइम ऑब्जेक्ट को एक क्रमबद्ध प्रारूप में परिवर्तित करता है।

from datetime import datetime

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json_str = json.dumps(datetime.datetime.now(), default=date_handler)
print(json_str)

यह दृष्टिकोण सुनिश्चित करता है कि पायथन डेटाटाइम ऑब्जेक्ट आईएसओ 8601 प्रारूप में परिवर्तित हो जाते हैं, जो जावास्क्रिप्ट द्वारा मानकीकृत और मान्यता प्राप्त है।

"2010-04-20T20:08:21.634121"

वैकल्पिक रूप से, विभिन्न ऑब्जेक्ट प्रकारों को संभालने के लिए एक अधिक व्यापक डिफ़ॉल्ट हैंडलर फ़ंक्शन को परिभाषित किया जा सकता है:

def handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()
    elif isinstance(obj, ...):
        return ...
    else:
        raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))

यह फ़ंक्शन 'आइसोफॉर्मेट' विशेषता की उपस्थिति की जांच करता है, जो डेटाटाइम ऑब्जेक्ट में सामान्य है, और इसे क्रमबद्ध प्रारूप में परिवर्तित करता है। इसके अतिरिक्त, यह आवश्यकतानुसार अन्य ऑब्जेक्ट प्रकारों को संभालता है।

इन तकनीकों का लाभ उठाकर, डेटाटाइम ऑब्जेक्ट्स को पायथन से कुशलतापूर्वक क्रमबद्ध किया जा सकता है और जावास्क्रिप्ट में डीसेरिएलाइज़ किया जा सकता है, जिससे दोनों भाषाओं के बीच सहज डेटा विनिमय की सुविधा मिलती है।

विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729330037 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3