تحويل JSON إلى C#
تحويل JSON إلى كلاسات C# وكائنات POCO لتطوير .NET
إدخال JSON
مخرجات C#
ما هو تحويل JSON إلى C#؟
عند دمج API خارجي في تطبيق .NET الخاص بك، ستحصل عادةً على مستندات JSON لكنك ستحتاج إلى كلاسات C# مكتوبة بالأنواع لفك تسلسل الاستجابة. كتابة هذه الكلاسات يدوياً أمر ممل — خاصةً مع الكائنات المتداخلة بعمق. هذه الأداة تُنشئ C# POCOs تلقائياً من JSON الخاص بك. الصق مثالاً على استجابة API واحصل على تعريفات كلاسات جاهزة للإضافة إلى مشروعك. تعمل مباشرةً مع System.Text.Json أو Newtonsoft.Json.
تتم عملية التحويل في متصفحك مباشرةً. استخدم خيارات الإعداد لتحديد اسم الكلاس، واختيار الخصائص أو الحقول، وتفعيل الأنواع القابلة للقيمة الفارغة. لا يتم إرسال أي بيانات إلى أي خادم.
كيفية استخدام هذه الأداة
الصق JSON
الصق بيانات JSON في المحرر الأيسر أو ارفع ملفاً. استخدم تحميل مثال للحصول على بيانات نموذجية. حدد اسم الكلاس الجذري والخيارات (الخصائص، القابلية للفارغة) في لوحة الإعداد.
مراجعة الكلاسات
تعرض اللوحة اليمنى كلاسات C# المُولَّدة. تصبح الكائنات المتداخلة كلاسات منفصلة. تصبح المصفوفات List<T> أو T[]. أضف سمات [JsonPropertyName] إذا احتجت إلى أسماء مفاتيح JSON مختلفة.
نسخ أو تنزيل
استخدم نسخ أو تنزيل للحصول على الكود. الصقه في مشروع .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 أدواتٍ مفيدة.
الأسئلة الشائعة
كيف أُجري تحليل JSON في C#؟
استخدم JsonSerializer.Deserialize<YourClass>(jsonString) من System.Text.Json، أو JsonConvert.DeserializeObject<YourClass>(jsonString) من Newtonsoft.Json. تحتاج إلى كلاس C# مطابق — أنشئه هنا بلصق JSON الخاص بك.
ماذا لو لم تتطابق مفاتيح JSON مع اصطلاحات تسمية C#؟
استخدم [JsonPropertyName("json_key")] على الخاصية (System.Text.Json)، أو [JsonProperty("json_key")] (Newtonsoft). بدلاً من ذلك، اضبط JsonSerializerOptions.PropertyNamingPolicy على JsonNamingPolicy.CamelCase للربط التلقائي.
ماذا عن أنواع المراجع القابلة للـ null في C#؟
فعّل Nullable Types في الإعدادات لتوليد string?، int?، إلخ. مفيد عندما يمكن أن تكون حقول JSON فارغة أو غير موجودة. ستحتاج إلى #nullable enable أو إعداد مشروع يدعم nullable.
هل يُرسَل JSON الخاص بي إلى خادم؟
لا. يعمل توليد الكلاسات بالكامل في متصفحك. لا يغادر JSON الخاص بك جهازك أبداً، لذا آمن للاستخدام مع مفاتيح API الإنتاجية أو البيانات الحساسة.
الخصائص مقابل الحقول — أيهما يجب أن أستخدم؟
الخصائص (get; set;) هي المعيار لـ DTOs في C#. يُسلسل كل من System.Text.Json وNewtonsoft.Json الخصائص العامة بشكل افتراضي. الحقول تعمل، لكنها أقل شيوعاً لكائنات نقل البيانات.
أدوات ذات صلة
System.Text.Json. Newtonsoft.Json. مواصفات JSON. RFC 8259. MDN. .NET. Postman.