पायथन और जावास्क्रिप्ट के बीच JSON डेटाटाइम
JSON का उपयोग करके पायथन और जावास्क्रिप्ट के बीच डेटाटाइम ऑब्जेक्ट का आदान-प्रदान करना उनकी संबंधित तिथि में अंतर के कारण चुनौतीपूर्ण हो सकता है और समय प्रारूप. इसे संबोधित करने के लिए, हम कस्टम JSON क्रमबद्धता और डिसेरिएलाइज़ेशन हैंडलर लागू कर सकते हैं।
पायथन में, आप json.dumps फ़ंक्शन में डिफ़ॉल्ट पैरामीटर का उपयोग करके एक क्रमबद्धता हैंडलर फ़ंक्शन को परिभाषित कर सकते हैं। जब भी क्रमांकन के दौरान कोई डेटाटाइम ऑब्जेक्ट सामने आएगा तो इस हैंडलर को कॉल किया जाएगा। निम्नलिखित कोड स्निपेट दर्शाता है कि डेटाटाइम ऑब्जेक्ट के लिए एक हैंडलर कैसे बनाया जाए जो उन्हें आईएसओ 8601 प्रारूप में परिवर्तित करता है:
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
यह डेटाटाइम ऑब्जेक्ट को आईएसओ 8601 प्रारूप में एक स्ट्रिंग के रूप में आउटपुट करेगा:
"2010-04-20T20:08:21.634121"
जावास्क्रिप्ट में, आप एक कस्टम का उपयोग कर सकते हैं प्राप्त आईएसओ 8601 स्ट्रिंग को वापस डेटाटाइम ऑब्जेक्ट में परिवर्तित करने के लिए डिसेरिएलाइज़ेशन हैंडलर। एक व्यापक डिसेरिएलाइज़ेशन हैंडलर फ़ंक्शन इस तरह दिख सकता है:
function handler(obj) {
if (typeof obj === 'string') {
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
// ISO 8601 Date string
return new Date(obj);
}
}
return obj;
}
इन कस्टम हैंडलर का उपयोग करके, आप JSON का उपयोग करके पायथन और जावास्क्रिप्ट के बीच डेटाटाइम ऑब्जेक्ट्स का निर्बाध रूप से आदान-प्रदान कर सकते हैं, जिससे दोनों प्लेटफार्मों के बीच अनुकूलता सुनिश्चित हो सके।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3