JavaScriptSerializer: enum को JSON स्ट्रिंग में कैसे serialize करें, संख्या में नहीं?
सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ, ASP.NET Web Forms (पुराना स्कूल, लेकिन legacy प्रोजेक्ट) पर एक छोटा वेब एप्लिकेशन लिख रहा हूँ। मैं क्लाइंट को भेजने के लिए किसी ऑब्जेक्ट को JSON में serialize करने के लिए `JavaScriptSerializer` का उपयोग कर रहा हूँ।
यह एक क्लास है:
```csharp
public class User
{
public string Name { get; set; }
public UserRole Role { get; set; }
}
public enum UserRole
{
Admin,
Moderator,
User
}
```
मैं एक ऑब्जेक्ट बनाता हूँ और उसे serialize करता हूँ:
```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) के रूप में serialize होता है, जबकि मुझे स्ट्रिंग मान चाहिए, जैसे `"Admin"`। क्लाइंट पर पठनीयता और तुलना के लिए इसकी आवश्यकता है।
मुझे पता है कि आधुनिक `System.Text.Json` या `Newtonsoft.Json` में `[JsonConverter(type