تحويل JSON إلى Python
تحويل JSON إلى كلاسات Python لتطوير تطبيقات Python
إدخال JSON
مخرجات Python
ما هو تحويل JSON إلى Python؟
تستخدم Python القواميس dict والكلاسات المخصصة للبيانات المنظمة. عند تحليل JSON باستخدام json.loads()، تحصل على قواميس. هذا يكفي للوصول الديناميكي، لكن للوصول المكتوب بالنوع ودعم IDE والتحقق من البيانات، غالباً ما تريد dataclasses أو كلاسات عادية. تُعرِّف مواصفة JSON الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية — لكن Python تحتاج إلى تعريفات كلاسات صريحة لكل بنية متداخلة.
تُولِّد هذه الأداة تعريفات كلاسات Python من بيانات JSON الخاصة بك. فعِّل Dataclass وTyping وNullable في لوحة الإعداد. تمنحك Dataclasses (Python 3.7+) __init__ و__repr__ والمساواة مجاناً. استخدم المخرجات مع json.loads() والتعيين اليدوي، أو اضبطها لـPydantic.
تعمل عملية التحويل بالكامل في متصفحك. لا يتم إرسال بيانات JSON الخاصة بك إلى أي خادم.
كيفية استخدام هذه الأداة
الصق أو ارفع JSON
انسخ JSON الخاص بك والصقه في المحرر الأيسر. يمكنك أيضاً النقر على رفع الملف لتحميل ملف .json أو .txt. استخدم زر تحميل مثال لتحميل بيانات نموذجية. في لوحة الإعداد، حدد اسم الكلاس والخيارات: Dataclass للحصول على @dataclass، وTyping للحصول على تعليقات List[Type]، وNullable للحصول على Optional[T].
مراجعة الكلاسات المُولَّدة
تعرض اللوحة اليمنى كود Python المُولَّد. تصبح الكائنات المتداخلة كلاسات متداخلة. تحصل المصفوفات على <code>List[Type]</code> من وحدة typing. تستخدم Dataclasses <code>@dataclass</code>؛ وإلا تحصل على كلاسات عادية مع <code>__init__</code>. إذا كان JSON يحتوي على أخطاء نحوية، صحِّحها أولاً باستخدام منسق JSON أو التحقق من JSON.
نسخ أو تنزيل
استخدم نسخ لوضع النتيجة في الحافظة، أو تنزيل لحفظها كملف .py. الصقها في مشروعك. للكتابة الديناميكية، يكفي json.loads(). للتحقق والتحليل، فكِّر في استخدام Pydantic.
أمثلة JSON إلى Python
إليك مثالاً على توليد Python dataclasses من كائن JSON.
مثال: سجل مشترك
إدخال JSON:
مخرجات Python المُولَّدة:
متى يساعد تحويل JSON إلى Python
يحتاج معظم المطورين إلى هذا عند الدمج مع واجهات REST البرمجية. ترسل طلباً عبر Postman أو requests أو httpx، وتأتي الاستجابة بصيغة JSON. لصقها هنا يمنحك كلاسات مكتوبة يمكن استخدامها للوصول المنظم.
ملفات الإعداد وحمولات Webhook وتدفقات الأحداث غالباً ما تكون بصيغة JSON. تشغيلها عبر هذه الأداة يساعدك على فهم البنية وتوليد كلاسات Python لتلميحات النوع أو التحقق من البيانات أو خطوط معالجة البيانات.
إذا كنت تبني تطبيق FastAPI أو Flask يستهلك واجهات برمجية خارجية، فإن وجود نماذج مكتوبة يُحسِّن جودة الكود ويكتشف الأخطاء مبكراً. يمكن تكييف الكلاسات المُولَّدة لـ Pydantic بتغييرات طفيفة.
الأسئلة الشائعة
Dataclass مقابل كلاس عادي؟
تمنحك Dataclasses (Python 3.7+) __init__ و__repr__ و__eq__ والمزيد مجاناً. تحتاج الكلاسات العادية إلى __init__ يدوي. كلاهما يعمل مع تحليل JSON. تُفضَّل Dataclasses في Python الحديث.
ماذا عن الأنواع الاختيارية Optional؟
فعِّل أنواع Nullable للحصول على Optional[T] أو T | None للحقول التي قد تكون غائبة أو فارغة. تحتاج صيغة union T | None إلى Python 3.10+.
هل يتم إرسال بياناتي إلى أي مكان؟
لا. تعمل عملية التوليد بالكامل في متصفحك باستخدام JavaScript. لا يتم إرسال أي بيانات إلى أي خادم.
هل يمكنني استخدامه مع Pydantic؟
المخرجات هي Python قياسي. يمكنك تكييفه لـ Pydantic بتغيير الكلاس الأساسي إلى BaseModel وإضافة المحققات. Pydantic لديه أيضاً توليد المخطط الخاص به من JSON.
snake_case مقابل camelCase؟
يستخدم JSON غالباً camelCase؛ وتفضل Python استخدام snake_case. يستخدم المولِّد مفاتيح JSON كما هي. استخدم Field(alias="camelCase") في Pydantic أو مفككاً مخصصاً للتعيين.
أدوات ذات صلة
لمعالجة JSON في Python، انظر وحدة json في Python وPydantic. لمعلومات حول JSON، انظر مواصفات JSON وRFC 8259 وMDN.