У меня есть внешний API, который возвращает ответ в следующем формате:
{
"responses": [
{
"columnHeadersCount": 1,
"data": [
[
"1",
"John",
"Smith",
"50"
],
[
"2",
"Liam",
"Miller",
"10"
]
],
"headerOrientation": "horizontal",
"headers": [
[
{
"displayName": "Id"
},
{
"displayName": "First Name",
"field": "FirstNameField"
},
{
"displayName": "Last Name",
"field": "LastNameField"
},
{
"displayName": "Age",
"field": "AgeField"
}
]
],
"totalColumnsCount": 4
}
]
}
У меня есть класс, в котором я хочу, чтобы ответ API был десериализован на
Student.cs
public class Student
{
public int Id { get; set; }
[JsonProperty("firstName")]
public string FirstName { get; set; }
[JsonProperty("lastName")]
public string LastName { get; set; }
public int Age { get; set; }
}
Мой вопрос как я могу десериализовать ответ в этот класс с учетом структуры ответа API, который у меня есть?
Я попытался создать класс под названием APIResponse.cs и сопоставить заголовки и данные в JArray. В настоящее время я десериализую его в APIResponse.cs, используя этот код:
var jsonResponse = JsonConvert.DeserializeObject (json .ToString ());
public class ApiResponse
{
public JArray Data { get; set; }
public JArray Headers { get; set; }
}
Поэтому я бы хотел, чтобы мои заголовки и данные были десериализованы в объекте Student. Есть предположения? Цените вашу помощь.
Спасибо!