У меня есть файл Json с правильно сериализованным объектом, но проблема в том, что в json есть что-то вроде словаря с ключами, которые представляют собой строки «0», «1» и так далее.
Есть ли способ, без написания собственного парсера, правильно десериализовать их в список?
"WeaponSlots":{
"0":{
"WeaponInstalled":null,
"AllowedWeaponTypes":{
"0":{
"0":2
}
},
"AllowedWeapons":null
},
"1":{
"WeaponInstalled":null,
"AllowedWeaponTypes":{
"0":{
"0":2
}
},
"AllowedWeapons":null
}
Пример файла: https://pastebin.com/i3LQ3L7j
Что за созданный этот JSON? Можете ли вы исправить это, чтобы сделать оружейные слоты правильным списком?
Вы можете сгенерировать набор соответствующих классов C# с помощью app.quicktype.io/#l=cs, а затем использовать Json.NET для разбора его на эти типы.





Вы можете использовать тип данных Dictionary<string, object> для десериализации этого ..
static void Main(string[] args)
{
// load the file.
var file = File.ReadAllText("Example.json");
// to generate the 'Example' classes from JSON I used
// https://app.quicktype.io and changed the name to 'Example'
var example = JsonConvert.DeserializeObject<Example>(file);
// select the value of each dictionary entry into a list.
var sections = example.Sections.Select(x => x.Value).ToList();
}
Попробуйте JSON.NET.