Вообщем есть JSON строка:
{
"38938719": [
{
"tier": "DIAMOND",
"queue": "RANKED_SOLO_5x5",
"name": "Varus's Army",
"entries": [
{
"isFreshBlood": false,
"division": "V",
"isVeteran": false,
"wins": 73,
"losses": 68,
"playerOrTeamId": "38938719",
"playerOrTeamName": "ShironekoSistine",
"isInactive": false,
"isHotStreak": true,
"leaguePoints": 37
}
]
},
{
"tier": "DIAMOND",
"queue": "RANKED_FLEX_SR",
"name": "Sejuani's Highwaymen",
"entries": [
{
"isFreshBlood": false,
"division": "III",
"isVeteran": false,
"wins": 38,
"losses": 26,
"playerOrTeamId": "38938719",
"playerOrTeamName": "ShironekoSistine",
"isInactive": false,
"isHotStreak": false,
"leaguePoints": 3
}
]
}
]
}
И я создал классы для ее десириализации
public class Entry
{
public string playerOrTeamId { get; set; }
public string playerOrTeamName { get; set; }
public string division { get; set; }
public int leaguePoints { get; set; }
public int wins { get; set; }
public int losses { get; set; }
public bool isHotStreak { get; set; }
public bool isVeteran { get; set; }
public bool isFreshBlood { get; set; }
public bool isInactive { get; set; }
}
public class __invalid_type__38938719
{
public string name { get; set; }
public string tier { get; set; }
public string queue { get; set; }
public List<Entry> entries { get; set; }
}
public class RootObject
{
public List<__invalid_type__38938719> __invalid_name__38938719 { get; set; }
}
Делал методом RootObject summonerInfo = JsonConvert.DeserializeObject<RootObject>(answer);
где answer
- полученная JSON строка в формате string
но ошибка в том, вечно получается что даже __invalid_name__38938719
Принимает значение null
во время работы программы, ну и соответственно все остальные значения тоже.
Что я делаю не так? уже целый день сижу над этим...
С помощью чего вы генерили модели? Что это __invalid_type__38938719
? Больше не используйте эту шляпу.
Для представления ассоциативных массивов используется класс Dictionary<TKey, TValue>
.
Использование:
var resultObject = JsonConvert.DeserializeObject<Dictionary<int, List<Element>>>(jsonString);
Тестить!
Ваши модели:
public class Entry
{
public string PlayerOrTeamId { get; set; }
public string PlayerOrTeamName { get; set; }
public string Division { get; set; }
public int LeaguePoints { get; set; }
public int Wins { get; set; }
public int Losses { get; set; }
public bool IsHotStreak { get; set; }
public bool IsVeteran { get; set; }
public bool IsFreshBlood { get; set; }
public bool IsInactive { get; set; }
}
public class Element
{
public string Name { get; set; }
public string Tier { get; set; }
public string Queue { get; set; }
public List<Entry> Entries { get; set; }
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
В ASPNET RAZOR MVC5 существует такой замечательный хелпер как
Есть некая задача, по которой надо обработать данные в массиве из большого количества элементовДанные, это кадастровые номера, по которым...
Имееться xml файл, нужно из этого файла выцедить и записать в лист, проблема в том что у меня получаеться выцедить только 1 экземпляр
Grid загружается через BindingSource, в grid включено добавление, удаление, редактированиеКак сделать так что бы в первом столбце находился combobox и при...