[英]Can't deserialize an array of objects from JSON into a C# object
我無法讓JavascriptSerializer反序列化一個對象數組。 我並不十分清楚我錯過了什么。
這是我的目標......
public class HomefinderResult
{
public Data data;
public List<Listing> listings;
public Status status;
public class Listing
{
public string recordingDate;
public Buyer buyer;
public double distance;
public string id;
public class Buyer
{
public Address address;
public string phone;
public string firstName;
public string lastName;
public class Address
{
public string line1;
public string city;
public string state;
public string zip;
public string county;
public string latitude;
public string longitude;
}
}
}
public class Data
{
public Meta meta;
public class Meta
{
public int totalMatched;
public int totalPages;
public int currentPage;
public double executionTime;
}
}
public class Status
{
public int code;
public string[] errorStack;
}
}
這是我想要反序列化的json響應......
{
"data":{
"meta":{
"totalMatched":126,
"totalPages":7,
"currentPage":1,
"executionTime":0.26153302192688
},
"listings":[
{
"recordingDate":"2010-06-07",
"buyer":{
"address":{
"line1":"999 Meadow Rd",
"city":"Oak Ridge",
"state":"TN",
"zip":"99999",
"county":"Anderson",
"latitude":"99.0316920000",
"longitude":"-99.2476320000"
},
"phone":"9995551234",
"firstName":"xxx",
"lastName":"xxx"
},
"distance":18.088793566409,
"purchasePrice":"975000",
"id":"70a706d46c5e1db7417b78c159467431"
},
{
"recordingDate":"2010-06-04",
"buyer":{
"address":{
"line1":"999 Willow Ln",
"city":"Oak Ridge",
"state":"TN",
"zip":"99999",
"county":"Anderson",
"latitude":"99.0045700000",
"longitude":"-99.3182850000"
},
"firstName":"xxx",
"lastName":"xxx",
"gender":"Female"
},
"distance":22.244494041996,
"purchasePrice":"201000",
"id":"dda41ec8150c8648a7e9926b2c5fd468"
}
]
},
"status":{
"code":200,
"errorStack":null
}
}
我究竟做錯了什么?
切換到JSON.NET並遇到同樣的問題后,我走了幾分鍾然后回來了。 我發現了我的問題 - 我需要在數據中嵌套列表,而不是在同一級別。
你有3個類,但有一個包裝器,所以你需要一個包裝其他3個類的類來匹配JSON中的根“類”級別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.