我将从RESTful API获得一个JSON对象作为响应。通常,当已知键时,我可以轻松解析此内容。例如,我可以创建一个名为User
的类:
[DataContract]
public class User
{
[DataMember]
public string id { get; set; }
[DataMember]
public string name { get; set; }
[DataMember]
public string email { get; set; }
}
我所要做的就是将响应读入我的JSON解析器,并告诉它输出是一个<User>,然后我就可以开始工作了。但当进行其他请求时,例如销售数据,这种方法就显得不够用了。我收到的响应大致如下:
{
"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#类?值得一提的是,我正在使用这个SO问题中使用的JSONHelper。
string
还是DateTime
? - svick