Given the following in C#:
[Flags] public enum MyFlags { None = 0, First = 1 << 0, Second = 1 << 1, Third = 1 << 2, Fourth = 1 << 3 } Are there any existing methods in ServiceStack.Text for serializing to the following JSON?
{ "MyFlags": { "None": 0, "First": 1, "Second": 2, "Third": 4, "Fourth": 8 } } Currently I'm using the routine below, are there better ways to do this?
public static string ToJson(this Type type) { var stringBuilder = new StringBuilder(); Array values = Enum.GetValues(type); stringBuilder.Append(string.Format(@"{{ ""{0}"": {{", type.Name)); foreach (Enum value in values) { stringBuilder.Append( string.Format( @"""{0}"": {1},", Enum.GetName(typeof(Highlights), value), Convert.ChangeType(value, value.GetTypeCode()))); } stringBuilder.Remove(stringBuilder.Length - 1, 1); stringBuilder.Append("}}"); return stringBuilder.ToString(); }
s/typeof(Highlights)/type/g