"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تسلسل .NET تعداد في سلاسل JSON مع JavaScriptserializer؟

كيفية تسلسل .NET تعداد في سلاسل JSON مع JavaScriptserializer؟

نشر في 2025-04-12
تصفح:220

How to Serialize a .NET Enum as a String in JSON using JavaScriptSerializer?

Serializing .NET inums كأصحاب في JSON مع javascriptserializer

المعيار .NET javaScriptSterializer غالبًا ما يخرج التعداد كقيم عدد صحيح داخل JSON. لتسلسلهم كأسلاك تمثل أسمائهم ، توجد عدة طرق.

الطريقة 1: الاستفادة من json.net's stringenumConverter النهج الأكثر وضوحًا وموصى به يستخدم json.net القوي

StringEnumConverter

. يمكن تطبيق هذا المحول على مستوى تعريف التعداد أو مستوى الخاصية:

باستخدام newtonsoft.json ؛ باستخدام newtonsoft.json.converters ؛ [JsonConverter (typeof (StringEnumConverter))]] جنس التعداد العام {ذكر ، أنثى} شخص من الطبقة العامة { العصر العام العام {get ؛ تعيين؛ } [JsonConverter (typeof (StringEnumConverter))]] // أو تطبيق على مستوى الخاصية الجنس بين الجنسين العام {get ؛ تعيين؛ } }
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum Gender { Male, Female }

public class Person
{
    public int Age { get; set; }
    [JsonConverter(typeof(StringEnumConverter))] // Or apply at property level
    public Gender Gender { get; set; }
}
الجنس

المسلسل كسلسلة ("ذكر" أو "أنثى") في JSON الناتجة.

الطريقة 2: خيارات التكوين العالمية

للتطبيق الأوسع ، قم بتكوين

stringenumConverter

على مستوى العالم:

  • على مستوى التعداد:

    ، قم بتطبيق المحول على تعريف التعداد نفسه للتسلسل المتسق للسلسلة المتسقة عبر جميع استخدامات هذا التعداد:

    [jsonconverter (typeof (StringEnumConverter)))]] التعداد العام بين الجنسين {ذكر ، أنثى}
      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
  • مع

    jsonserializer : أضف المحول إلى مثيل محدد var serializer = new jsonserializer () ؛ serializer.converters.add (New StringEnumConverter ()) ؛ // ... استخدم Serializer لتسلسل كائناتك ...

      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
    مع
  • jsonconvert
  • :

    تطبيق المحول مباشرة أثناء التسلسل: string json = jsonconvert.serializeObject (myObject ، new StringEnumConverter ()) ؛

      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
    تخصيص
  • StringEnumConverter

The ارجع إلى وثائق json.net للخيارات التفصيلية.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3