c# - 在 C# 中解析 JSON

标签 c# json

我正在以 JSON 对象的形式从 RESTful API 获得响应。通常,当 key 已知时,我可以很好地解析它。例如,我创建了一个 User 类,如下所示:

[DataContract]
public class User
{
    [DataMember]
    public string id { get; set; }

    [DataMember]
    public string name { get; set; }

    [DataMember]
    public string email { get; set; }
}

我所要做的就是将响应读取到我的 JSON 反序列化器中,并告诉它输出是一个 ,我就可以开始了。这在提出其他请求(例如销售数据)时达不到要求。我得到的回复是这样的:

{
  "2010-11-24": {
    "country": null,
    "iso": null,
    "product": null,
    "downloads": 39,
    "net_downloads": 38,
    "updates": 6,
    "revenue": "19.02",
    "returns": 1,
    "gift_redemptions": 0,
    "promos": 0
  },
  "2010-11-25": {
    "country": null,
    "iso": null,
    "product": null,
    "downloads": 63,
    "net_downloads": 63,
    "updates": 6,
    "revenue": "37.00",
    "returns": 0,
    "gift_redemptions": 0,
    "promos": 0
  }
}

如果我可以将此类建模为 [DataContract] 那么我会很高兴,但由于第一个键是日期,我无法对其进行硬编码。

是否有一个 JSON 库可以接受这种响应并将其转换为强类型的 C# 类?

为了记录,我使用的是 JSONHelper used in this SO question.

最佳答案

JSON.NET被公认为最好/最快/最稳定的 JSON C# 库。我用过它,它像宣传的那样有效。

关于c# - 在 C# 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790754/

相关文章:

c# - 有没有办法检查数据库中是否存在随机生成的数字? C#

ajax - 使用浏览器后退按钮时忽略内容协商

c# - 比 BASE64 更紧凑的字节数组表示?

c# - 使用 C# 扩展方法重载运算符

c# - 使用 Newtonsoft 反序列化 JSON 对象 C#

json - Angular 4 - 将 JSON 映射到模型,反之亦然

javascript - 如何将自定义数据用于 ng-if ? ( Angular JS)

javascript - d3 JSON 多折线图

c# - 将查询包含到 C# 代码中的最佳方法

c# - Ranorex XPATH 问题