【问题标题】:Display Enum as Key-Value pair JSON将枚举显示为键值对 JSON
【发布时间】:2021-04-07 06:07:11
【问题描述】:

我有一个如下所示的 ENUM。我需要显示它的键值对。我已经展示了我需要如何查看输出。

public enum CourseEnum
{
    Science= 1, 
    Math =2, 
    English=3, 
    History=4
    
}

输出

{
    "1" : "Science",
    "2" : "Math ",
    "3" : "English",
    "4" : "History"
           
}

【问题讨论】:

    标签: c# enums


    【解决方案1】:

    首先您可以将枚举转换为字典,然后将其转换为 json:

    var dict = Enum.GetValues(typeof(CourseEnum))
                   .Cast<CourseEnum>()
                   .ToDictionary(t => (int)t, t => t.ToString());
    

    并使用Newtonsoft

    var json=JsonConvert.SerializeObject(dict);
    

    【讨论】:

      【解决方案2】:

      查看代码 sn-p。根据您的需要进行调整:

      foreach (var e in Enum.GetValues(typeof(CourseEnum)).Cast<CourseEnum>())
          Console.WriteLine($"\"{(int)e}\" : \"{e}\"");
      
      // output:
      "1" : "Science"
      "2" : "Math"
      "3" : "English"
      "4" : "History"
      

      【讨论】:

        【解决方案3】:

        你可以喜欢这个。

        var data = Enum
                    .GetNames(typeof(CourseEnum))
                    .Select(name => new
                    {
                        Id = (int)Enum.Parse(typeof(CourseEnum), name),
                        Name = name
                    })
                    .ToArray();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-07
          • 1970-01-01
          • 2012-11-12
          • 2021-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-09-24
          相关资源
          最近更新 更多