JavaScriptSerializer: enum को JSON स्ट्रिंग में कैसे serialize करें, संख्या में नहीं
सभी को नमस्कार! मैंने अभी C# और ASP.NET सीखना शुरू किया है, और JavaScriptSerializer के साथ ऑब्जेक्ट को JSON में serialize करते समय एक समस्या का सामना करना पड़ा।
मेरे पास ऐसा 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 ऑब्जेक्ट को serialize करता हूँ:
```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 को उसके संख्यात्मक मान में बदल देता है। प्रोजेक्ट में कई enum हैं, और उन सभी को मैन्युअल रूप से बदलना बहुत कठिन है। मैंने सुना है कि Newtonsoft.Json में `[JsonConverter(typeof(StringEnumConverte]` नामक एक एट्रिब्यूट है।