محول JSON إلى Dart
محول مجاني من JSON إلى Dart عبر الإنترنت. الصق عينة API واحصل فورًا على فئات بيانات مكتوبة مع مصانع fromJson وtoJson وأمان القيم الفارغة وحقول final، جاهزة لـ Flutter، كله داخل متصفحك.
ما الذي يولّده محول JSON إلى Dart؟
يولّد فئات Dart جاهزة للاستخدام بحقول مكتوبة ومصانع fromJson وtoJson لكل نموذج، بحيث تفكّ وتشفّر بيانات API بلغة Dart خالصة دون build_runner أو حزم إضافية.
كيف تُعالَج الكائنات المتداخلة؟
كل كائن JSON يصبح فئة مستقلة. تحتفظ الفئة الأم بحقل من النوع المتداخل، ويستدعي fromJson تابعها مصنع الفئة الابنة بشكل متكرر، ويستدعي toJson تابع toJson الابن، فتتحول البنى العميقة إلى شجرة فئات صغيرة.
ماذا يحدث مع مصفوفات الكائنات؟
تُدمج كائنات عناصر المصفوفة المختلفة: يشكّل اتحاد جميع المفاتيح فئة عنصر واحدة، ويصبح نوع الحقل List<فئة العنصر>. وتوسم المفاتيح الغائبة في بعض العناصر تلقائيًا بأنها قابلة للقيم الفارغة.
ماذا يغيّر خيار أمان القيم الفارغة؟
مع تفعيله، تحصل الحقول التي قد تكون غائبة أو فارغة على لاحقة ?، وتجعلها الدالة البانية معاملات مسمّاة اختيارية، ويقرأها fromJson بتحويلات واعية بالقيم الفارغة. أوقفه لإصدار أنواع عادية غير فارغة.
متى أفعل خيار final؟
final يعلن كل حقل غير قابل للتغيير بعد الإنشاء، وهو الأسلوب الموصى به لفئات البيانات في Dart، ويسمح للمحلل اللغوي برصد التغييرات العارضة على نماذجك.
ماذا لو كان مفتاح JSON ليس معرّف Dart صالحًا؟
تُعاد تسمية المفاتيح مثل @type أو order-id تلقائيًا إلى معرّف camelCase صالح (مع بادئة $ إذا بدأ المفتاح برقم). يبقى fromJson الناتج يقرأ المفتاح الأصلي، ويعرض تنبيه يسرد كل الحقول المعاد تسميتها.
كيف تُختار أسماء الفئات؟
تأخذ الفئة الجذرية الاسم الذي تكتبه في خانة «اسم الفئة» محوَّلًا إلى PascalCase. وتشتق الفئات المتداخلة اسمها من مفتاح JSON الذي أنتجها، فمثلًا user_profile تصبح الفئة UserProfile.
هل يُرسل JSON إلى أي خادم؟
لا. يتم التحليل وتوليد الكود بالكامل داخل متصفحك، ويُنشأ ملف .dart محليًا للتنزيل، فلا تغادر عينات API الخاصة أو الرموز جهازك أبدًا.
كيفية استخدام محول JSON إلى Dart
حوّل عينة JSON إلى أصناف بيانات Dart جاهزة للاستخدام دون مغادرة المتصفح. تُولَّد الأصناف والمصانع والتحويلات محليًا — ولا تُرفع حمولتك أبدًا.
- الصق JSON في المحرر الأيسر؛ يظهر كود Dart على اليمين أثناء الكتابة (تخميد 300 مللي ثانية).
- اضبط الاسم الأعلى في "Class name:" — يتحول إلى PascalCase للصنف الجذري.
- فعّل "Null safety" لإضافة ? إلى الحقول القابلة للفراغ وإصدار تحويلات واعية بالفراغ في fromJson.
- فعّل "final" لتعريف كل حقل غير قابل للتغيير، ثم انسخ الناتج أو نزّله كملف .dart.
تتحول الكائنات المتداخلة إلى أصناف مستقلة، وتُدمج مصفوفات الكائنات في صنف عنصر واحد بنوع List<Element>، وتُعاد تسمية المفاتيح غير الصالحة مثل @type تلقائيًا بينما يواصل fromJson قراءة المفتاح الأصلي.
أدوات ذات صلة
- JSON إلى TypeScript حوّل JSON إلى واجهات TypeScript وتعريفات الأنواع فوراً. يدعم الكائنات المتداخلة والمصفوفات وأنواع الاتحاد.
- JSON إلى Go Struct تحويل JSON إلى تعريفات Go Struct فورًا. الصق JSON واحصل على كود Go نظيف مع الأنواع الصحيحة وعلامات json ودعم omitempty.
- مدقق التجزئة احسب وتحقق من تجزئات MD5 وSHA-1 وSHA-256 وSHA-512 محليًا
- حاسبة Chmod حاسبة chmod مجانية عبر الإنترنت لتصور وحساب أذونات ملفات Linux بمربعات اختيار. تحويل فوري بين التدوين الرقمي (755، 644) والرمزي (rwxr-xr-x). يدعم الأذونات الخاصة مثل setuid وsetgid وsticky bit.
- جدول ASCII مرجع كامل لترميز أحرف ASCII مع الأكواد العشرية والسداسية العشرية والثمانية والثنائية وكيانات HTML وأوصاف الأحرف. البحث والتصفية الفورية.
- عارض سداسي عشري عرض محتويات الملفات بتنسيق سداسي عشري مع البحث والتنقل بالإزاحة والتمرير الافتراضي
- بحث أنواع MIME ابحث فوراً عن أنواع MIME حسب امتداد الملف أو ابحث عن الامتدادات حسب نوع MIME. مرجع مجاني عبر الإنترنت مع أكثر من 1000 إدخال.
- فحص دقة الشاشة اكتشاف دقة الشاشة وحجم إطار العرض وDPI وعمق اللون في الوقت الفعلي.