我有以下JSON響應:反序列化嵌套的JSON對象爲C#對象
{
"Customers": [
{
"Customer": {
"Address": {
"City": "Stockholm",
"PostalCode": "10123"
},
"Classifications": [
"LoyaltyProgram",
"Returning",
"VeryImportant"
],
"FirstName": "Peter",
"LastName": "Centers",
"Passport": {
"Expiration": "2019-01-14",
"Number": "1564931321655"
},
},
"FirstName": "Peter",
"LastName": "Centers",
"Reservation": {
"AdultCount": 2,
"AssignedSpaceId": "03f59360-8644-4e29-927a-ad85a6514466",
},
"RoomNumber": "302"
},
]
}
我必須爲每一位客戶下列類:
public class CustomerDto
{
public string FirstName { get; set; }
public string LastName { get; set; }
public List<string> Classifications { get; set; }
public PassportDto Passport { get; set; }
public AddressDto Address { get; set; }
}
public class AddressDto
{
public string City { get; set; }
public string PostalCode { get; set; }
}
public class PassportDto
{
public string Expiration { get; set; }
public string Number { get; set; }
}
從這個我用Json.Net和
以下代碼從我的一個方法(提取)其中客戶以下是響應:
var jsonCustomers = JObject.Parse(customers)["Customers"].Children().ToList();
IList<CustomerDto> customerList = new List<CustomerDto>();
foreach (var item in jsonCustomers) {
customerList.Add(item.ToObject<CustomerDto>());
}
Custome中的所有值除地址和護照之外,rDto都是空白的,我無法弄清楚原因。
是的,我沒有照顧FirstName和LastName的外部值,只是得到「客戶」。 –
是的,它工作得很完美,謝謝。 :) Json響應來自另一個來源/公司(在線酒店預訂系統),我無法控制代碼。我同意Json的迴應看起來有點奇怪,當被問到它時,他們說這是因爲後向兼容性。 –