我有這個特定的JSON響應,我試圖反序列化沒有成功。我希望有人能幫助我。反序列化這個JSON響應到C#
這裏是JSON響應我得到:
{
"num_locations": 1,
"locations": {
"98765": {
"street1": "123 Fake Street",
"street2": "",
"city": "Lawrence",
"state": "Kansas",
"postal_code": "66044",
"s_status": "20",
"system_state": "Off"
}
}
}
我用json2csharp http://json2csharp.com拿到了這個建議類:
public class __invalid_type__98765
{
public string street1 { get; set; }
public string street2 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string postal_code { get; set; }
public string s_status { get; set; }
public string system_state { get; set; }
}
public class Locations
{
public __invalid_type__98765 __invalid_name__98765 { get; set; }
}
public class RootObject
{
public int num_locations { get; set; }
public Locations locations { get; set; }
}
但是,當我嘗試使用它我代碼:
var locationResponse = JsonConvert.DeserializeObject<RootObject>(response.Content);
我得到的是(觀察):
locationResponse : {RestSharpConsoleApplication.Program.RootObject} : RestSharpConsoleApplication.Program.RootObject
locations : {RestSharpConsoleApplication.Program.Locations} : RestSharpConsoleApplication.Program.Locations
__invalid_name__98765 : null : RestSharpConsoleApplication.Program.__invalid_type__98765
num_locations : 1 : int
顯然我不是創造(json2csharp)右側類的DeserializeObject,而黯然我有過JSON響應(供應商= SimpliSafe)沒有控制權。
很明顯,「98765」是一個值(位置編號),但json2csharp使它成爲__invalid_type__98765類,這可能是爲什麼它變爲空。
任何想法應該如何尋找這個特定的JSON被成功反序列化?
謝謝! Zachs
非常感謝! – 2015-03-31 19:39:16