مطور / الأنواع
محوّل JSON إلى Python
حوّل عينة JSON إلى dataclasses أو تعريفات TypedDict أو نماذج Pydantic في Python، مع فئات متداخلة وحقول اختيارية تقبل null وأسماء بصيغة snake_case.
محوّل JSON إلى Python: يقرأ المحوّل بنية العينة: يتحول كل كائن إلى فئة، وتتحول المصفوفات إلى list[...]، وتُدمج الكائنات الموجودة داخل المصفوفة، لذلك يصبح المفتاح المفقود من بعض السجلات اختياريًا، ويصبح المفتاح الذي تكون قيمته null أحيانًا "| None". تتحول المفاتيح غير الصالحة كأسماء في Python إلى snake_case؛ وتحافظ نماذج Pydantic على المفتاح الأصلي كاسم مستعار، بينما يستخدم TypedDict صيغته الوظيفية. شُغّل الناتج لعدة عينات معقدة في Python 3.13، مع استخدام Pydantic للتحقق من العينة وفقًا له. يعمل 100% محليًا في المتصفح، من دون رفع أي ملفات إلى الخادم.
- الفئة
- أدوات المطورين
- مرات التشغيل
- في المتصفح
- التكلفة
- مجاني · بلا تسجيل
- التوفر
- جاهز للاستخدام
تعمل بالكامل في المتصفح
Python
from __future__ import annotations
from dataclasses import dataclass
@dataclass
class Address:
city: str
zip_code: str
@dataclass
class User:
id: int
user_name: str
avatar_url: str
score: float
tags: list[str]
address: Address
manager_id: int | None
nickname: str | None = None
UserList = list[User]
مكتوب لـ Python 3.10 أو إصدار أحدث. تصبح المفاتيح الغائبة عن بعض الكائنات اختيارية، وتصبح المفاتيح التي تكون null أحيانًا “| None”. لا تعيد Dataclasses ربط المفاتيح المُعاد تسميتها بـ JSON، لذا استخدم Pydantic، الذي يضيف أسماء بديلة، عندما لا تكون المفاتيح أسماء صالحة في Python.
من الأنواع إلى التحقق
لا تتحقق تلميحات الأنواع وحدها من البيانات أثناء التشغيل: إذ تمنحك json.loads قواميس وقوائم عادية بغض النظر عما تقوله التعليقات التوضيحية. تتحقق نماذج Pydantic من البيانات وتحولها أثناء تحليلها باستخدام Model.model_validate(data)، وتبلغ عن كل حقل لا يتوافق معها.
للاطلاع على العينة نفسها بلغات أخرى، راجع JSON إلى TypeScript وJSON إلى Go؛ وللحصول على عقد مستقل عن اللغة، استخدم JSON إلى JSON Schema.
الحصول على عينة جيدة
ألصق عدة سجلات بدلًا من سجل واحد، بما في ذلك السجلات التي تحتوي على حقول اختيارية أو فارغة، حتى يتمكن المحوّل من معرفة المفاتيح الموجودة دائمًا. تظهر القيم التي تكون دائمًا null أو المصفوفات الفارغة على أنها Any، لتملأها يدويًا.
طريقة الاستخدام
- ألصق عينة JSON، ويفضّل أن تكون مصفوفة تتضمن عدة سجلات نموذجية.
- اختر dataclasses أو TypedDict أو Pydantic، وسمِّ النوع الأعلى مستوى.
- انسخ الفئات المُنشأة إلى مشروعك.
الخصوصية والقيود
تُحوَّل JSON في المتصفح، ولا تُرفع إلى أي خادم.
أدوات ذات صلة
الأسئلة الشائعة
أي نمط ينبغي استخدامه؟
استخدم Pydantic للتحقق من البيانات الواردة من API وتحليلها، وTypedDict لفحص أنواع التعليمات البرمجية التي تتعامل مع قواميس عادية، وdataclasses للكائنات الداخلية البسيطة التي تنشئها بنفسك.
ما إصدار Python المطلوب لتشغيل التعليمات البرمجية؟
يتطلب Python 3.10 أو إصدارًا أحدث لاستخدام الصيغة X | None؛ أما NotRequired في TypedDict فيتطلب الإصدار 3.11، أو typing_extensions في الإصدارات الأقدم.
لماذا تُكتب أنواع بعض الحقول على أنها Any؟
لا يوفّر المفتاح الذي تكون قيمته دائمًا null، أو المصفوفة الفارغة، أي مؤشر إلى نوعه؛ استبدل Any بالنوع الحقيقي الوارد في توثيق API.
أداة مجانية · عدد مرات الاستخدام في المتصفح · لا يتطلب حسابًا