Мой JSON выглядит следующим образом
{
"@odata.context":"https://graph.microsoft.com/V1.0/$metadata#users",
"value":[
{
"businessPhones":[
],
"displayName":"dee",
"givenName":null,
"jobTitle":null,
"mail":"[email protected]",
"mobilePhone":null,
"officeLocation":null,
"preferredLanguage":null,
"surname":null,
"userPrincipalName":"79_gmail.com#EXT#@web.onmicrosoft.com",
"id":"08fab3-6f-4dc9-9ffb-6568d172"
},
{
"businessPhones":[
"973"
],
"displayName":"Technologies LLP",
"givenName":"SHA",
"jobTitle":null,
"mail":null,
"mobilePhone":"8762",
"officeLocation":null,
"preferredLanguage":"en-U",
"surname":"SHAI",
"userPrincipalName":"[email protected]",
"id":"2adf-94cd-45-83ef-d0dbf1e36"
},
{
"businessPhones":[
],
"displayName":"admin of smartogle",
"givenName":null,
"jobTitle":null,
"mail":null,
"mobilePhone":null,
"officeLocation":null,
"preferredLanguage":"en-US",
"surname":null,
"userPrincipalName":"[email protected]",
"id":"1754-d6-40-9ae2-d816063e"
},
{
"businessPhones":[
],
"displayName":"av",
"givenName":null,
"jobTitle":null,
"mail":null,
"mobilePhone":null,
"officeLocation":null,
"preferredLanguage":"en-US",
"surname":null,
"userPrincipalName":"[email protected]",
"id":"6837-08-449-a6ab-78b"
}
]
}
Я использую следующий код для преобразования json в список объектов
MyObject obj = JsonConvert.DeserializeObject<MyObject>(members);
Класс MyObject выглядит следующим образом
public class MyError
{
public List<values> value;
}
public class values
{
public string id;
public string userPrincipalName;
public string surname;
public string preferredLanguage;
public string officeLocation;
public string mobilePhone;
public string mail;
public string jobTitle;
public string givenName;
public string displayName;
public string businessPhones;
}
При конвертации я получаю следующую ошибку
При анализе значения обнаружен неожиданный символ: [. Путь 'value [0] .businessPhones', строка 1, позиция 97.
Когда я удаляю общедоступную строку businessPhones; из класса остальные данные анализируются в список объектов. Но на самом деле мне нужны и бизнес-телефоны.
List
вpublic List value;
? ТакжеbusinessPhones
- это массив в вашем JSON. Простое решение таких проблем десериализации JSON: сравните свою модель с JSON. - person Llama   schedule 29.07.2019businessPhones
- этоmulti value
поля, и вы определили их как строку. - person Kalpesh Boghara   schedule 29.07.2019businessPhones
кажется массивом строк, поэтому вы должны объявить его как таковой - person Sir Rufo   schedule 29.07.2019