Omer Bokhari Omer Bokhari - 4 years ago 400
ASP.NET (C#) Question

JSON serialization of enum as string

I have a class that contains an

property, and upon serializing the object using
, my json result contains the integer value of the enumeration rather than its
"name". Is there a way to get the enum as a string in my json without having to create a custom
? Perhaps there's an attribute that I could decorate the enum definition, or object property, with?

As an example:

enum Gender { Male, Female }

class Person
int Age { get; set; }
Gender Gender { get; set; }

Desired json result:

{ "Age": 35, "Gender": "Male" }

Answer Source

No there is no special attribute you can use. JavaScriptSerializer serializes enums to their numeric values and not their string representation. You would need to use custom serialization to serialize the enum as its name instead of numeric value.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download