2012-01-08 45 views
2

我正在使用json.net將貨幣匯率轉換爲json。列表使用json.net的json對象

C#實體獲得了一個名稱和一個值,其中名稱是USD,GBP等,並且值貨幣率。

我不知道不同貨幣的指數,所以在javascript中我想通過說var a = obj["USD"]; insead循環訪問一個數組並找到array[i].name == "USD"。 的JsonConvert.SerializeObject(currencyList);默認輸出是:

[ 
    {"name": "one", "pId": "foo1", "cId": "bar1"}, 
    {"name": "two", "pId": "foo2", "cId": "bar2"}, 
    {"name": "three", "pId": "foo3", "cId": "bar3"} 
] 

我卻想是這樣的:

{ 
    "one": {"pId": "foo1", "cId": "bar1"}, 
    "two": {"pId": "foo2", "cId": "bar2"}, 
    "three": {"pId": "foo3", "cId": "bar3"} 
} 

這可能與json.net到acheieve,或者我需要寫我自己的解析器?

回答

3

你必須創建一個字典:

Dictionary<String, DataType> dictionary = list.ToDictionary(d => d.name); 

通過你的實體類型替換DataType

然後,你可以使用json序列化字典。

+1

啊,當然謝謝你:) – randoms 2012-01-08 14:50:59

相關問題