2016-02-26 65 views
-2

我在我想解析的文本文件中有以下JSON。無法解析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

你試圖使用'名單<詞典<字符串,列表 >>'? (字符串作爲字典鍵與詮釋) – Derlin

+1

jsonlint.com是非常方便的檢查,你有有效的JSON ... – femtoRgon

+0

我懷疑你收到選票的部分原因是你沒有告訴我們錯誤信息是什麼。你也會說「它看起來並不喜歡這種格式」,但是如果你只是檢查了格式,或者通過驗證器運行它,那麼你會發現它不是有效的Json,所以你要求社區爲你做,什麼應該是明顯的第一步。 –

回答

3

JSON格式不正確。檢查以下行

"13" , [111,131], 

並將其更改爲:

"13" : [111,131], 
1

嘗試map = JsonConvert.DeserializeObject<List<Dictionary<String, List<int>>>>(json);

你的密鑰字符串,而不是詮釋。