У меня есть запрос Json, возвращающийся в следующем формате:
{
"data": {
"errors": [
"string"
],
"enrolled": [
0
]
}
}
Однако этот формат, похоже, возвращает только в том случае, если количество элементов в объекте ошибок равно 0. Если есть только 1 иличем больше объектов ошибок, тем формат возвращается без объекта ошибок, являющегося массивом, но вместо этого в нем есть новый массив, как показано ниже:
{
"data":{
"enrolled":[
],
"errors":{
"existing_enrollments":[
{
"user_id":13040,
"course_id":3
}
]
}
},
"version":"1.0.0",
"_links":[
}
Мой объект запроса выглядит следующим образом:
public class CreateEnrollmentResponse
{
[JsonProperty("data")]
public CreateEnrollment_Data CreateEnrollment_Data { get; set; }
}
public class CreateEnrollment_Data
{
[JsonProperty("errors")]
public CreateEnrollment_Errors CreateEnrollment_Errors { get; set; }
[JsonProperty("enrolled")]
public List<CreateEnrollment_Enrolled> CreateEnrollment_Enrolled { get; set; }
}
public class CreateEnrollment_Enrolled
{
[JsonProperty("id_user")]
public int id_user { get; set; }
[JsonProperty("id_course")]
public int id_course { get; set; }
[JsonProperty("waiting")]
public bool waiting { get; set; }
}
public class CreateEnrollment_Errors
{
[JsonProperty("existing_enrollments")]
public List<CreateEnrollment_ExistingEnrollments> CreateEnrollment_ExistingEnrollments { get; set; }
}
public class CreateEnrollment_ExistingEnrollments
{
[JsonProperty("user_id")]
public int user_id { get; set; }
[JsonProperty("course_id")]
public int course_id { get; set; }
}
Очевидно, это работает, когда в массиве ошибок есть 1 или более элементов.Но когда он пуст и объект ошибки является просто пустым массивом, он выдает ошибку, поскольку объект ошибки не является массивом в объекте Response.
Есть ли способ динамически обработать это?