如何解析JSON文件以创建特定类的列表?

时间:2017-05-09 09:57:54

标签: c# json

我在JSON file的帖子中得到了此Stackoverflow。我是JSON的新手,我在尝试解析JSON文件时遇到了重复错误。 我使用JsonConvert

尝试了这个

我创建了一个用于存储数据的类,如下所示

public Class LocationInformation
{
    string Country {get; set;}
    List<string> Cities {get; set;}
}

当我尝试从位置JSON文件中获取数据时,我遇到了很多错误。当我厌倦了其他帖子中的示例时,我发现JSON文件的格式与指定存储数据的方式不同。

2 个答案:

答案 0 :(得分:0)

问题是您的模型与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
}

答案 1 :(得分:0)

您的数据是Dictionary<string,List<string>>,因此请将其反序列化:

var dict = JsonConvert.DeserializeObject<Dictionary<string,List<string>>>(json);

实例:http://rextester.com/UZGC57402