2017-05-09 47 views
0

我從Stackoverflow這篇文章中得到了這個JSON file。我對JSON很新,在嘗試解析JSON文件時遇到了重複的錯誤。 我想這使用JsonConvert如何解析JSON文件以創建特定類的列表?

我創建了一個類來存儲數據,如下所示

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

我得到很多的錯誤,當我嘗試從位置JSON文件中獲取數據。當我厭倦了其他帖子中的例子時,我發現JSON文件的格式不同於指定存儲數據的方式。

+0

使用Json.net(HTTP:// WWW。 newtonsoft.com/json) – zaitsman

+0

我也使用過,但我不知道如何做到這一點。請參閱JSON文件,它沒有任何說明符。 – Rekha

+0

這json是完全有效的。顯示你用來解析它的代碼 – Pikoh

回答

0

你的數據是Dictionary<string,List<string>>所以反序列化這樣的:

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

活生生的例子:http://rextester.com/UZGC57402

+0

非常感謝,我會看看並做出相應迴應。 – Rekha

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 
}