تحويل JSON إلى C#
تحويل JSON إلى كلاسات C# وكائنات POCO لتطوير .NET
إدخال JSON
مخرجات C#
ما هو تحويل JSON إلى C#؟
تستخدم لغة C# الكلاسات والخصائص لتمثيل البيانات. عند استهلاك JSON من واجهة برمجية أو ملف إعدادات، تحتاج إلى أنواع C# مطابقة لإجراء عملية إزالة التسلسل. تقوم هذه الأداة بتوليد كلاسات C# (كائنات POCO) من بيانات JSON الخاصة بك. الصق مثالاً من JSON واحصل على تعريفات الكلاسات بأنواع الخصائص المناسبة. استخدمها مع System.Text.Json أو Newtonsoft.Json.
تتم عملية التحويل في متصفحك مباشرةً. استخدم خيارات الإعداد لتحديد اسم الكلاس، واختيار الخصائص أو الحقول، وتفعيل الأنواع القابلة للقيمة الفارغة. لا يتم إرسال أي بيانات إلى أي خادم.
كيفية استخدام هذه الأداة
الصق JSON
الصق بيانات JSON في المحرر الأيسر أو ارفع ملفاً. استخدم تحميل مثال للحصول على بيانات نموذجية. حدد اسم الكلاس الجذري والخيارات (الخصائص، القابلية للفارغة) في لوحة الإعداد.
مراجعة الكلاسات
تعرض اللوحة اليمنى كلاسات C# المُولَّدة. تصبح الكائنات المتداخلة كلاسات منفصلة. تصبح المصفوفات List<T> أو T[]. أضف سمات [JsonPropertyName] إذا احتجت إلى أسماء مفاتيح JSON مختلفة.
نسخ أو تنزيل
استخدم <strong>نسخ</strong> أو <strong>تنزيل</strong> للحصول على الكود. الصقه في مشروع .NET الخاص بك. لتنسيق JSON أولاً، استخدم منسق JSON. للتحقق من الصحة، استخدم التحقق من JSON.
أمثلة JSON إلى C#
إليك مثالاً على توليد كلاسات C# من كائن JSON.
مثال: سجل مشترك
إدخال JSON:
مخرجات C# المُولَّدة:
متى يساعد تحويل JSON إلى C#
عند دمج واجهات REST البرمجية في .NET أو ASP.NET Core أو Blazor، تحتاج إلى أنواع C# لإزالة التسلسل. لصق استجابة نموذجية هنا يمنحك كائنات POCO قابلة للاستخدام مع JsonSerializer.Deserialize<T>() أو Newtonsoft.Json. لاختبار الواجهات البرمجية، يُعدّ Postman وjq أدواتٍ مفيدة.
الأسئلة الشائعة
الخصائص مقابل الحقول؟
تستخدم الخصائص get; وset;. تقوم System.Text.Json وNewtonsoft.Json بتسلسل الخصائص افتراضياً. تعمل الحقول ولكنها أقل شيوعاً في كائنات DTO.
ماذا عن أنواع المراجع القابلة للقيمة الفارغة؟
فعِّل أنواع Nullable في الإعداد للحصول على string? وما شابه. مفيد للحقول الاختيارية في JSON. يتطلب سياق nullable في مشروعك.
هل يتم إرسال بياناتي إلى أي مكان؟
لا. تتم عملية التوليد في متصفحك.
هل يمكنني استخدام هذا مع System.Text.Json؟
نعم. تعمل الكلاسات المُولَّدة مع JsonSerializer.Deserialize<T>(). أضف using System.Text.Json.Serialization; إذا احتجت إلى سمات مخصصة.
ماذا لو لم تتطابق مفاتيح JSON مع اصطلاحات تسمية C#؟
استخدم [JsonPropertyName("json_key")] على الخاصية، أو اضبط JsonSerializerOptions.PropertyNamingPolicy على camelCase.
أدوات ذات صلة
System.Text.Json. Newtonsoft.Json. مواصفات JSON. RFC 8259. MDN. .NET. Postman.