Если вы хотите десериализовать строку json, которая в вашем случае является переменной someResponse
, то вы все делаете правильно.
Чтобы проверить ваш код, я создал файл JSON с file.json name и поместите в него следующее:
{
"Id": 62,
"Phone": "07",
"ExistingMember": true,
"Item": [
{
"ID": 42,
"LSum": 0,
"YSum": 0,
"TSum": 0,
"NSum": 0,
"MemberId": 12
}
]
}
Затем ниже строк кода возьмите содержимое файла JSON (который в вашем случае является содержимым someResponse
) и десериализуйте его в объект c #типа Something
:
string jsonFilePath = @"C:\test\file.json";
var some = JsonConvert.DeserializeObject<Something>(File.ReadAllText(jsonFilePath));
Затем выведите свойство ID
каждого элемента списка Item
:
foreach(var item in some.Item)
{
if (item != null)
{
Console.WriteLine($"item ID = {item.ID}");
}
}
Вывод:
item ID = 42
Итак, вполне возможно, что someResponse
просто не имеет Item
и выглядит так:
{
"Id": 62,
"Phone": "07",
"ExistingMember": true
}
ОБНОВЛЕНИЕ:
Также япопробовал так:
var someResponse = @"{
'Id': 62,
'Phone': '07',
'ExistingMember': true,
'Item':[
{
'ID': 42,
'LSum': 0,
'YSum': 0,
'TSum': 0,
'NSum': 0,
'MemberId': 12
}
]
}
";
var some = JsonConvert.DeserializeObject<Something>(someResponse);
И some
имеет список Item
с 1 элементом