Вообщем есть 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; }
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости