我目前正在研究ListView
,它显示了我们系统的几个过程。不幸的是,系统仅以以下格式提供json:
[
{
"f1": "w1",
"date": "2018.11.09"
},
{
"f1": "w2",
"date": "2018.11.09"
}
]
如果启动反序列化,我的应用程序将崩溃,我认为原因是该对象没有“描述”。但是我该如何解决呢?
这是我下载和反序列化json的代码:
using (WebClient client = new WebClient())
{
client.Encoding = Encoding.UTF8;
json = client.DownloadString("http://x.x.x.x/test.json");
}
return JsonConvert.DeserializeObject<Query>(json);
查询:
public class Query
{
public List<Process> Processes { get; set; }
}
过程:
public class Process
{
[JsonProperty("f1")]
public string f1 { get; set; }
[JsonProperty("date")]
public string date { get; set; }
}
答案 0 :(得分:2)
这是因为JSON尝试将您的值反序列化为指定的'Query'对象:
{
"processes" : []
}
当结果为列表时,将JsonConvert.DeserializeObject<Query>
更改为JsonConvert.DeserializeObject<List<Process>>
,看看是否有帮助:)。