У меня есть следующий JSON в текстовом файле, который я пытаюсь разобрать.

{
"0":[68],
"1":[154,78,61],
"2":[89,132,146],
"3":[],
"4":[77,132,146],
"5":[32,132,50],
"6":[],
"7":[114,118,54,44,72,136,156,134,129,82,43,34,51,93,142,67,47,153,160,73,39,149,107,94,145,29,115,53,83,1,35,56,123,66,90,121,155],
"8":[89,146],
"9":[89,146],
"10":[100,135],
"11":[],
"12":[],
"13",[111,131],
"14":[77,124],
"15":[89,146],
"16":[163,126,122],
"17":[100,126,135],
"18":[32,50],
"19":[163,126,122]
}

У меня есть код

 var map = new List<Dictionary<int, List<int>>>();
            using (var r = new StreamReader(@"C:\Development\phase2\dependencymap.json"))
            {
                var json = r.ReadToEnd();
                map = JsonConvert.DeserializeObject<List<Dictionary<int, List<int>>>>(json);
            }

Но формат вроде не нравится. Что я делаю не так?

-2
NZJames 26 Фев 2016 в 19:13

2 ответа

Лучший ответ

JSON имеет неправильный формат. Проверьте следующую строку

"13" , [111,131],

И измените его на:

"13" : [111,131],
3
Michael Mairegger 26 Фев 2016 в 16:17

Попробуйте map = JsonConvert.DeserializeObject<List<Dictionary<String, List<int>>>>(json);

Ваши ключи String, а не int.

1
Maxime Turcotte 26 Фев 2016 в 16:16