小编Gav*_*aux的帖子

将C#枚举定义序列化为Json

在C#中给出以下内容:

[Flags]
public enum MyFlags {
  None = 0,
  First = 1 << 0,
  Second = 1 << 1,
  Third = 1 << 2,
  Fourth = 1 << 3
}  
Run Code Online (Sandbox Code Playgroud)

是否有任何现有方法ServiceStack.Text用于序列化到以下JSON?

{
  "MyFlags": {
    "None": 0,
    "First": 1,
    "Second": 2,
    "Third": 4,
    "Fourth": 8
  }
}
Run Code Online (Sandbox Code Playgroud)

目前我正在使用下面的例程,有没有更好的方法来做到这一点?

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), …
Run Code Online (Sandbox Code Playgroud)

c# enums serialization json servicestack

22
推荐指数
2
解决办法
7095
查看次数

标签 统计

c# ×1

enums ×1

json ×1

serialization ×1

servicestack ×1