Omnikit
المطورونالملفاتالمالجميع الأدوات
Ctrl K
أدوات المطورينأدوات الملفاتالحاسبات الماليةجميع الأدوات
الرئيسيةأدوات المطورينمحوّل JSON إلى أصناف C#
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

محوّل JSON إلى أصناف C#

مطورون

حوّل عينة JSON إلى أصناف أو سجلات C# لـ System.Text.Json أو Newtonsoft.Json

يعمل في متصفحك. لا يُرسل أي شيء تكتبه إلى أي مكان. تم التحقق في 16 أكتوبر 2026.

الصق عينة JSON واحصل على أصناف أو سجلات (records) في C# بخصائص بصيغة PascalCase ومفتاح JSON في سمة JsonPropertyName أو JsonProperty. تصبح الأعداد الصحيحة int، وlong بعد 2,147,483,647، وأي كسر عشري يجعل الحقل double، والقيمة null أو المفقودة تصبح قابلة للقيمة الفارغة، مثل int?.

تُرجمت هذه الصفحة آليًا من الأصل الإنجليزي. لم يراجع أي شخص هذه الترجمة بعد، لذا فالنسخة الإنجليزية هي التي يُعتمد عليها. اقرأ الأصل الإنجليزي

التالي:
  • تحويل JSON إلى TypeScript أنشئ واجهات أو أنواع TypeScript من عيّنة JSON
  • منسّق JSON ومدقّقه نسّق JSON وتحقق منه وصغّره ورتّبه مع الموضع الدقيق لكل خطأ

كيفية تحويل JSON إلى صنف C#

1

الصق عينة JSON، مثل استجابة API، في المربع الأيسر.

2

تظهر أصناف C# أثناء الكتابة، صنف لكل كائن، بخصائص بصيغة PascalCase ومفتاح JSON في سمة على كل منها.

3

اختر System.Text.Json أو Newtonsoft.Json، والسجلات مع init إن كنت تفضل النماذج غير القابلة للتغيير.

4

اضغط نسخ، أو تنزيل لحفظ Models.cs، ثم ألغِ التسلسل إلى الصنف الجذر.

حول محوّل JSON إلى أصناف C#

تقرأ C# ملفات JSON إلى أصناف مُنمَّطة، وتحتاج كل خاصية إلى النوع الصحيح وإلى طريقة للعثور على مفتاحها. يكتب هذا المحوّل تلك الأصناف من عينة، فتتحول استجابة API طويلة إلى نموذج قابل للترجمة بلصقة واحدة.

كيف تُختار الأنواع.

قيمة JSON نوع C#
"text" string
true / false bool
42 (أعداد صحيحة فقط) int، أو long بعد 32 بت
4.5 (ظهر أي كسر عشري) double
null، ومعها نوع آخر int?، string?
null فقط، أو أنواع مختلطة object?
[ ... ] List<...>
{ } فارغ Dictionary<string, object>
{ ... } صنف مستقل

المفاتيح والأسماء. تُكتب الخصائص بصيغة PascalCase، فيصبح user_name بصيغة UserName وavatar_url بصيغة AvatarUrl. تحمل كل خاصية مفتاحها الأصلي في سمة، لأن System.Text.Json يطابق الأسماء مع مراعاة حالة الأحرف ما لم يُطلب منه غير ذلك؛ ويحصل Newtonsoft على [JsonProperty] بدلًا منها. والخاصية التي ستحمل اسم صنفها، وهو ما يرفضه المترجم بالخطأ CS0542، تُضاف إليها Value.

مصفوفات الكائنات. تُدمج كل كائنات المصفوفة في صنف واحد، فيبقى المفتاح الذي يظهر في بعضها فقط موجودًا، ويُجعل قابلًا للقيمة الفارغة كي يُقرأ غيابه null لا 0 أو false. يتشارك كائنان لهما المفاتيح والأنواع نفسها تمامًا صنفًا واحدًا.

الخيارات. تعطي السجلات مع init نماذج غير قابلة للتغيير تُقارن بالقيمة. اسم الصنف الجذر Root ما لم تسمّه. وعندما يكون JSON نفسه مصفوفة أو قيمة مفردة، يذكر تعليق النوع الذي يُلغى التسلسل إليه، مثل List.

فُحص كل ناتج بقراءة C# مرة أخرى ومطابقة 9 عينات معه وفق قواعد أدوات التسلسل. لا شيء مما تلصقه يغادر المتصفح.

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

كيف أحول JSON إلى صنف C#؟

الصق عينة JSON في المحوّل فتظهر أصناف C# بجانبها، صنف لكل كائن، مع سمة JsonPropertyName على كل خاصية. انسخها إلى مشروعك واقرأ JSON باستخدام JsonSerializer.Deserialize<Root>(json)، أو JsonConvert.DeserializeObject<Root>(json) عند اختيار Newtonsoft.

لماذا تحمل كل خاصية سمة JsonPropertyName؟

يطابق System.Text.Json أسماء الخصائص افتراضيًا مع مراعاة حالة الأحرف، فالخاصية المسماة UserName لن تتلقى المفتاح user_name أبدًا. تذكر السمة المفتاح الدقيق، فتبقى تسمية C# بصيغة PascalCase ويُقرأ JSON مع ذلك دون أي خيارات لأداة التسلسل أو سياسة تسمية.

متى تكون الخاصية قابلة للقيمة الفارغة، مثل int? أو string?؟

تكون الخاصية قابلة للقيمة الفارغة عندما تُظهر العينة null لها، أو عندما تُسقط بعض كائنات المصفوفة مفتاحها. دون علامة الاستفهام، سيُقرأ الرقم المفقود بصمت على أنه 0 والعلامة المفقودة على أنها false، لذا يفصل النوع القابل للقيمة الفارغة بين الغياب والصفر.

هل أستخدم الأصناف أم السجلات؟

تناسب السجلات ذات المُوصِّلات init النماذج التي تقرؤها فقط، لأن خصائصها لا تتغير بعد إلغاء التسلسل ويتساوى سجلان لهما القيم نفسها. وتناسب الأصناف ذات set النماذج التي تملؤها أو تعدّلها. يعمل كلاهما مع System.Text.Json منذ .NET 5 ومع Newtonsoft.Json.

ما الأنواع التي تأخذها الأرقام في C#؟

تصبح الأعداد الصحيحة int، أو long عندما تتجاوز قيمة ما 2,147,483,647، ويصبح الحقل double بمجرد أن تحمل أي قيمة في العينة جزءًا عشريًا. والقيم من أنواع مختلفة، مثل رقم في عنصر ونص في آخر، تصبح object?، الذي يحتفظ بقيمة JSON الخام.

هل يُرفع ملف JSON الخاص بي؟

لا. يجري التحويل في متصفحك دون أي طلب إلى خادم، ولا يُحفظ JSON، فتبقى استجابات API التي تحمل رموز وصول أو بيانات شخصية على جهازك. أغلق التبويب ولن يبقى شيء.

المصادر

  • Microsoft Learn, System.Text.Json: customize property namesJsonPropertyName, and case-sensitive matching by default
  • Newtonsoft.Json documentation, JsonPropertyAttribute nameJsonProperty("key") on a property
  • Microsoft Learn, .NET naming guidelinesPascalCase types and properties
  • Microsoft Learn, compiler error CS0542A member cannot have the same name as its enclosing type

آخر تحقق في 16 أكتوبر 2026.

تتغير المعدلات والقواعد؛ راجع المصدر قبل الاعتماد على أي رقم.

هل ما زلت عالقًا؟ اسأل عن محوّل JSON إلى أصناف C# ويمكن لأي شخص يعرف الإجابة أن يجيب. لا حاجة إلى حساب.

أدوات ذات صلة

جميع أدوات المطورين
ترميز Base64 وفك ترميزهالنصوص والملفات إلى Base64 والعكس، مع وضع آمن لعناوين URL ومعاينة للصورمحوّل الطابع الزمني Unixمن الطوابع الزمنية Unix إلى تواريخ ومن التواريخ إلى طوابع زمنية، بأي منطقة زمنيةتحويل JSON إلى TypeScriptأنشئ واجهات أو أنواع TypeScript من عيّنة JSONتحويل CSV إلى JSONحوّل CSV إلى JSON وJSON إلى CSV، مع معاينة جدولتحويل YAML إلى JSONحوّل YAML إلى JSON وJSON إلى YAML، مع حلّ المراسيترميز عناوين URL وفك ترميزهارمّز النصوص وعناوين URL بالترميز المئوي أو فكّها، واعرض كل جزء من الرابطمحوّل أنظمة الأعدادالثنائي والثماني والعشري والست عشري وأي أساس حتى 36، بدقة تامة مهما كان الحجم، مع المتمم الثنائيColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
هل كانت هذه الأداة مفيدة؟
Omnikit

مهام صغيرة تُنجز في متصفحك. مجانية وسريعة وخاصة. لا تُرفع الملفات أبدًا.

الملفات

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

المطورون

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

المال

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
الأدلةالأسئلةمن نحنكيف نتحققمكتبة القوانين (تجريبية)الخصوصيةالشروطالإفصاحاتصل بناMore: Exam practice (UGC NET Paper 1)يعمل في متصفحك. لا يُرفع أي شيء. © 2026 Omnikit (theomnikit.com)