如何解析JSON文件以创建特定类的列表?
问题描述:
我从Stackoverflow这篇文章中得到了这个JSON file。我对JSON很新,在尝试解析JSON文件时遇到了重复的错误。 我想这使用JsonConvert
如何解析JSON文件以创建特定类的列表?
我创建了一个类来存储数据,如下所示
public Class LocationInformation
{
string Country {get; set;}
List<string> Cities {get; set;}
}
我得到很多的错误,当我尝试从位置JSON文件中获取数据。当我厌倦了其他帖子中的例子时,我发现JSON文件的格式不同于指定存储数据的方式。
答
你的数据是Dictionary<string,List<string>>
所以反序列化这样的:
var dict = JsonConvert.DeserializeObject<Dictionary<string,List<string>>>(json);
+0
非常感谢,我会看看并做出相应回应。 – Rekha
答
问题是您的模型与JSON不匹配。
这样做:
public List<LocationInformation> ParseMyJson()
{
var file = ... // load file here;
var data = JsonConvert.DeserializeObject<Dictionary<string, List<string>>(file);
return data.Select(x => new LocationInformation { Country = x.Key, Cities = x.Value }).ToList(); // you DON'T have to return a list
}
使用Json.net(HTTP:// WWW。 newtonsoft.com/json) – zaitsman
我也使用过,但我不知道如何做到这一点。请参阅JSON文件,它没有任何说明符。 – Rekha
这json是完全有效的。显示你用来解析它的代码 – Pikoh