جعل فئات Python قابلة للتسلسل
يسمح التسلسل بتحويل الكائنات إلى تنسيق مناسب للاستمرارية أو النقل. غالبًا ما يؤدي تسلسل الفئات المخصصة في JSON إلى خطأ TypeError نظرًا لطبيعتها غير القابلة للتسلسل 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"}'
استخدام مكتبة orjson
لدراسة شاملة الحل، فكر في استخدام مكتبة orjson، التي توفر طريقة فعالة وقابلة للتخصيص لتسلسل الفئات المخصصة إلى 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() مخصص توفر الطريقة أو مكتبة orjson حلولاً مناسبة لتسلسل فئات Python إلى JSON. يضمن كلا الأسلوبين إمكانية تمثيل الكائنات ونقلها بشكل فعال بتنسيق JSON.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3