我有以下Json响应:
{
"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和以下代码中的一个方法(extract)从客户端获取响应数据,具体代码如下:
var jsonCustomers = JObject.Parse(customers)["Customers"].Children().ToList();
IList<CustomerDto> customerList = new List<CustomerDto>();
foreach (var item in jsonCustomers) {
customerList.Add(item.ToObject<CustomerDto>());
}
客户传输对象(CustomerDto)中的所有值都已填写,除了地址和护照是空的,我无法弄清原因。