إدخال JSON

مخرجات Dart

ما هو تحويل JSON إلى Dart؟

تستخدم Dart الكلاسات للبيانات المنظمة. عند استهلاك JSON في تطبيقات Flutter أو Dart، تحتاج إلى كلاسات مطابقة بأسماء الحقول والأنواع الصحيحة. تُعرِّف مواصفة JSON الكائنات والمصفوفات والنصوص والأرقام والقيم المنطقية — لكن Dart تحتاج إلى تعريفات كلاسات صريحة لكل كائن متداخل.

تُولِّد هذه الأداة كلاسات Dart من بيانات JSON. فعِّل JsonSerializable للحصول على دوال fromJson/toJson. فعِّل الأنواع القابلة للفارغة للحقول الاختيارية. يعمل المخرج مع json.decode() وjson.encode().

تعمل عملية التحويل بالكامل في متصفحك. لا يُرسل JSON الخاص بك إلى أي خادم.

متى يساعد تحويل JSON إلى Dart

عند بناء تطبيقات Flutter أو Dart التي تستهلك واجهات REST البرمجية، تحتاج إلى كلاسات مكتوبة بنوع محدد. الصق استجابة نموذجية هنا لتوليد الكلاسات المطابقة.

كيفية استخدام هذه الأداة

1

الصق أو ارفع JSON

انسخ JSON الخاص بك والصقه في المحرر الأيسر. يمكنك أيضاً النقر على رفع الملف لتحميل ملف. استخدم زر تحميل مثال للحصول على بيانات نموذجية. حدد اسم الكلاس والخيارات في لوحة الإعداد.

2

مراجعة الكلاسات المُولَّدة

تعرض اللوحة اليمنى كلاسات Dart المُولَّدة. تصبح الكائنات المتداخلة كلاسات منفصلة. تصبح المصفوفات <code>List&lt;T&gt;</code>. إذا كان JSON يحتوي على أخطاء نحوية، صحِّحها أولاً باستخدام منسق JSON أو التحقق من JSON.

3

نسخ أو تنزيل

استخدم نسخ أو تنزيل للحصول على الكود. الصقه في مشروع Flutter أو Dart الخاص بك.

أمثلة JSON إلى Dart

إليك مثالاً على توليد كلاسات Dart من كائن JSON.

مثال: سجل مشترك

إدخال JSON:

إدخال JSON

مخرجات Dart المُولَّدة:

المخرجات

متى يساعد تحويل JSON إلى Dart

يحتاج معظم المطورين إلى هذا عند دمج واجهات REST البرمجية. اللصق هنا يمنحك كلاسات مكتوبة جاهزة للاستخدام مع json.decode.

إذا كنت بحاجة إلى دمج ملفين JSON أولاً، استخدم أداة دمج JSON المنفصلة لذلك.

كثيراً ما تكون صادرات قواعد البيانات أو ملفات الإعداد أو استجابات الواجهات البرمجية بصيغة JSON. تشغيلها عبر هذه الأداة يساعدك على توليد كلاسات Dart لتطبيقك.

الأسئلة الشائعة

JsonSerializable أم fromJson يدوي؟

يُولِّد JsonSerializable دوال fromJson وtoJson في وقت البناء. يقلل الكود النمطي. يتطلب json_serializable وbuild_runner في المشروع.

ماذا عن null safety؟

فعِّل الأنواع القابلة للفارغة للحقول الاختيارية في JSON. يُضيف ? للأنواع التي قد تكون فارغة.

هل يتم إرسال بياناتي إلى أي مكان؟

لا. تعمل عملية التوليد بالكامل في متصفحك. لا تُرسل أي بيانات إلى أي خادم.

هل يمكنني استخدامه مع Flutter؟

نعم. تعمل الكلاسات المُولَّدة مع حزمة http في Flutter وdart:convert. أضف json_serializable للتسلسل التلقائي.

ماذا لو كانت مفاتيح JSON تستخدم snake_case؟

تستخدم Dart عادةً camelCase. استخدم @JsonKey(name: 'json_key') على الحقل لأسماء مفاتيح JSON المخصصة.

أدوات ذات صلة

لـ JSON في Dart، انظر dart:convert. لـ JSON، انظر مواصفة JSON. لـ Flutter، انظر Flutter.