У меня проблемы с анализом json объекта с использованием десериализатора json. net. Мои объекты:
public class Employee
{
public int id { get; set; }
public string name { get; set; }
public string work_email { get; set; }
public Partner address_id { get; set; }
}
public class Partner
{
public int id { get; set; } //in the example "5021"
public string name { get; set; } //in the example "company x"
}
JSON:
{
"address_id": [
5021,
"Company X"
],
"work_email": false,
"id": 37,
"name": "John Doe"
}
Ошибка, которую я понимаю: текущий массив JSON (например, [1,2,3]) не может преобразуйте в 'Odoo.OdooConnect + Partner', поскольку для корректного десериализации типа требуется объект JSON (например, {"name": "value"}).
Изменение json на "address_id": {5021, "Компания X"}, конечно, исправит ошибку, но это невозможно.
Я не могу представить, что нет лучшего варианта, чем использовать списки и вручную преобразовывать все многоуровневые ключи в свойства, подобные этим:
if (records.Property("address_id") != null) { Employee.Partner.id = (int)records.SelectToken( "address_id[0]" ); Employee.Partner.name = (int)records.SelectToken( "address_id[1]" ); }
Некоторая помощь?