وقت تاريخ JSON بين Python وJavaScript
قد يكون تبادل كائنات التاريخ والوقت بين Python وJavaScript باستخدام JSON أمرًا صعبًا بسبب الاختلافات في تاريخ كل منهما و تنسيقات الوقت. لمعالجة هذه المشكلة، يمكننا تنفيذ معالجات تسلسل وإلغاء تسلسل JSON مخصصة.في Python، يمكنك تحديد وظيفة معالج تسلسل باستخدام المعلمة الافتراضية في وظيفة json.dumps. سيتم استدعاء هذا المعالج عند مواجهة كائن وقت وتاريخ أثناء التسلسل. يوضح مقتطف التعليمات البرمجية التالي كيفية إنشاء معالج لكائنات التاريخ والوقت الذي يحولها إلى تنسيق ISO 8601:
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
سيؤدي هذا إلى إخراج كائن التاريخ والوقت كسلسلة بتنسيق ISO 8601:"2010-04-20T20:08:21.634121"
في JavaScript، يمكنك استخدام معالج إلغاء التسلسل المخصص لتحويل سلسلة ISO 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;
}
باستخدام هذه المعالجات المخصصة، يمكنك تبادل كائنات التاريخ والوقت بسلاسة بين Python وJavaScript باستخدام JSON، مما يضمن التوافق بين النظامين الأساسيين. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3