JavaScriptSerializer: كيفية تحويل التعداد (enum) إلى سلسلة نصية JSON بدلاً من رقم
مرحباً بالجميع! لقد بدأت للتو في تعلم C# و ASP.NET، وواجهت مشكلة عند تسلسل الكائنات إلى JSON باستخدام JavaScriptSerializer.
لدي التعداد (enum) التالي:
```csharp
public enum Status
{
Active = 1,
Inactive = 2,
Pending = 3
}
```
والفئة التي تستخدمه:
```csharp
public class User
{
public string Name { get; set; }
public Status UserStatus { get; set; }
}
```
عندما أقوم بتسلسل كائن User:
```csharp
var user = new User { Name = "John", UserStatus = Status.Active };
var json = new JavaScriptSerializer().Serialize(user);
```
أحصل على JSON مثل: `{"Name":"John","UserStatus":1}`. لكنني أحتاج أن تكون الحالة سلسلة نصية، مثلاً: `{"Name":"John","UserStatus":"Active"}`.
المشكلة هي أن JavaScriptSerializer يحول التعداد (enum) افتراضياً إلى قيمته الرقمية. في المشروع هناك العديد من التعدادات (enums)، وتغييرها جميعاً يدوياً أمر صعب. سمعت أنه في Newtonsoft.Json هناك خاصية `[JsonConverter(typeof(StringEnumConverte