【发布时间】:2021-12-17 19:01:25
【问题描述】:
这是我的 JSON 数据示例,从 this website 获得
[
{
"date": "2021-11-03T00:00:00.000Z",
"currencies": [
{
"code": "AED",
"quantity": 10,
"rateFormated": "8.6246",
"diffFormated": "0.0032",
"rate": 8.6246,
"name": "არაბეთის გაერთიანებული საამიროების დირჰამი",
"diff": -0.0032,
"date": "2021-11-02T17:44:59.825Z",
"validFromDate": "2021-11-03T00:00:00.000Z"
},
{
"code": "AMD",
"quantity": 1000,
"rateFormated": "6.6368",
"diffFormated": "0.0036",
"rate": 6.6368,
"name": "სომხური დრამი",
"diff": 0.0036,
"date": "2021-11-02T17:44:59.825Z",
"validFromDate": "2021-11-03T00:00:00.000Z"
}
]
}
]
和我的班级 -
public class CurrencyDTO
{
public string code { get; set; }
public int quantity { get; set; }
public string rateFormated { get; set; }
public string diffFormated { get; set; }
public double rate { get; set; }
public string name { get; set; }
public double diff { get; set; }
public DateTime date { get; set; }
public DateTime validFromDate { get; set; }
}
public class Root
{
public DateTime date { get; set; }
public List<CurrencyDTO> currencies { get; set; }
}
当我试图为我的网站反序列化它时,模型正在显示但没有数据(见图)
索引法
var webClient = new WebClient();
HttpResponseMessage response = client.GetAsync(BaseURL).Result;
List<CurrencyDTO> ct = new List<CurrencyDTO>();
if (response.IsSuccessStatusCode)
{
String rawJSON = webClient.DownloadString("https://nbg.gov.ge/gw/api/ct/monetarypolicy/currencies/ka/json");
ct = JsonConvert.DeserializeObject<List<CurrencyDTO>>(rawJSON);
}
return View(ct);
问题是我的课程还是我试图反序列化它的方式?
【问题讨论】:
-
调试代码时,您是否看到
ct变量中的任何数据?可以分享一下查看代码吗? -
ct = JsonConvert.DeserializeObject
- >(rawJSON);
-
我正在尝试添加调试点,但没有任何反应
-
这给了我一个错误
-
检查 JSON 的第一行,它不是一个数组,而是一个类,该类在名为
date的属性中具有日期,在名为currencies的属性中具有数组。所以你应该使用在反序列化中具有这些属性的类Root。
标签: c# asp.net json asp.net-mvc webapi