【问题标题】:Parsing enumeration member values when using JSON使用 JSON 时解析枚举成员值
【发布时间】:2009-12-10 03:57:57
【问题描述】:

微软reports那个Enumeration member values are treated as numbers in JSON

我们正在手动将 WebMethod 输出构建到一个表中,因此可以在客户端将成员编号转换为它的名称,但它有异味,并且不如在服务器上使用 Enum.GetName 转换它强大。例如,如果我们添加或更改枚举,这将意味着更改我们的 Javascript。

在 WebMethod 中是否有(简单的)方法可以做到这一点?该对象正确序列化,并且在我们使用 XML 传输结果时正在工作。

【问题讨论】:

    标签: .net json


    【解决方案1】:

    如果您只需要在客户端上显示它,我会在执行 Enum.GetName 调用的有线实体中添加一个额外的字符串类型的属性获取器。如果它必须往返,您可以在解析枚举值的同一属性上添加一个设置器。

    有点讨厌,但不如在客户端硬编码列表那么糟糕......

    【讨论】:

    • +1 我们使用的是 .NET 3.5,所以我可以使用匿名类型来添加额外的属性(我们没有使用 DTO)。不理想,但同意这比在客户端上做更好。
    【解决方案2】:

    您可以使用支持枚举序列化的https://github.com/jlarsson/Kiwi.Json

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 2021-07-15
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多