Avatar ·

JavaScriptSerializer: كيفية تحويل التعداد (enum) إلى سلسلة JSON بدلاً من رقم؟

مرحباً بالجميع! أنا مطور C# مبتدئ، أكتب تطبيق ويب صغير باستخدام ASP.NET Web Forms (مدرسة قديمة، لكن المشروع legacy). أستخدم `JavaScriptSerializer` لتسلسل كائن إلى JSON لإرساله إلى العميل. لدي كلاس مثل هذا: ```csharp public class User { public string Name { get; set; } public UserRole Role { get; set; } } public enum UserRole { Admin, Moderator, User } ``` أقوم بإنشاء كائن وتسلسله: ```csharp var user = new User { Name = "Иван", Role = UserRole.Admin }; var serializer = new JavaScriptSerializer(); string json = serializer.Serialize(user); Console.WriteLine(json); ``` الناتج هو: `{"Name":"Иван","Role":0}`. المشكلة أن `Role` يتم تسلسلها كرقم (0, 1, 2)، بينما أحتاج إلى قيمة نصية مثل `"Admin"`. على العميل، هذا ضروري للقراءة والمقارنة. أعلم أنه في `System.Text.Json` أو `Newtonsoft.Json` الحديثة توجد attributes مثل `[JsonConverter(type