2017-08-09 62 views
-6

這裏是我需要構建的示例。我試過哈希集顯示爲鍵和值,但我需要我的輸出爲以下格式。我想用c中的字典創建一個具有相同鍵和不同值的json文件。#

[{ 
    "data": "Name" 

}, 
{ 
    "data": "Description" 
}] 

我的示例代碼:

var items = new List<KeyValuePair<string, string>>(); 

foreach (DataColumn col in dt.Columns) 
     { 
      if (col.ColumnName !="DataType") 
      { 
       items.Add(new KeyValuePair<string, string>("data", 
col.ColumnName)); 
      } 
     } 
var lookup = items.ToLookup(kvp => kvp.Key, kvp => kvp.Value); 

當我嘗試添加字典它拋出我的錯誤說鑰匙已經被添加。任何指導學習詞典概念在C#

感謝

+0

的可能的複製被創建在.NET字典重複鍵?](https://stackoverflow.com/questions/146204/duplicate-keys-in-net-dictionaries) –

+0

你應該向我們展示你已有的代碼。 – Carra

+0

字典應該有唯一的鍵。您不能多次使用密鑰。 – Christos

回答

1

給定的JSON是對象的數組,並且可以與

var source = new List<object>{ 
    new Dictionary<string,object>{ { "data", "Name" }, }, 
    new Dictionary<string,object>{ { "data", "Description" }, }, 
}; 

var json = JsonConvert.SerializeObject(source, Formatting.Indented); 

.NET fiddle Sample

+0

謝謝我正在尋找@Sir Rufo – Eliotjse

+0

您從未接受過/回覆過您的問題。請閱讀https://stackoverflow.com/help/someone-answers –

+0

我upvoted,但沒有反映,因爲我有更少的積分。但我標記爲有用的再次感謝 – Eliotjse

0

你不能在兩個鍵值對添加到字典一樣。字典使用密鑰來計算散列。如果添加兩個相同的密鑰,則會發生哈希碰撞。這將阻止字典正常工作 - 當您嘗試使用該鍵獲取項目時,字典應返回哪個項目?

+0

我想創建重複,我使用以前的答案實現。 – Eliotjse

相關問題