【发布时间】:2019-11-25 07:09:05
【问题描述】:
我有这样的 JSON
{
"rates": {
"2018-05-04": {
"USD": 0.2813388807,
"GBP": 0.2074019228
},
"2018-08-27": {
"USD": 0.2723718099,
"GBP": 0.2115780848
}
...etc etc
},
"start_at": "2018-01-01",
"base": "PLN",
"end_at": "2018-09-01"
}
我想将它映射到 C# 对象。我尝试使用json@csharp,但它给了我类似的东西
public class __invalid_type__20180504
{
public double USD { get; set; }
public double GBP { get; set; }
}
public class __invalid_type__20180827
{
public double USD { get; set; }
public double GBP { get; set; }
}
public class Rates
{
public __invalid_type__20180504 __invalid_name__2018-05-04 { get; set; }
public __invalid_type__20180827 __invalid_name__2018-08-27 { get; set; }
}
public class RootObject
{
public Rates rates { get; set; }
public string start_at { get; set; }
public string @base { get; set; }
public string end_at { get; set; }
}
我不想有像“__invalid_type__xxxxxxxx”这样的类名,我正在寻找一种将它映射到一个类的方法,以便我有一个类类型的列表。我正在使用DataContractJsonSerializer 和System.Net.Http.HttpClient
【问题讨论】:
-
json 无效 - 您需要日期的属性名称
-
因为它不知道“2018-05-04”和“2018-08-27”是什么,只需要调整你的class rate yo list of subclass(包含美元和英镑值)
-
@Jazb 我从这里得到了 json link
-
@stefammierz 请检查我的答案。
-
链接给出的 json 无效