2012-01-08 15 views
2

私はjson.netを使用して、為替レートをjsonに変換しています。jsonオブジェクトを使用したjsonオブジェクトへのリスト

C#エンティティはNameとValueを取得しました。ここでNameはUSD、GBPなどで、Valueは通貨レートです。

私は異なる通貨のインデックスを知らないので、javacriptでvar a = obj["USD"];と言って、配列をループして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

関連する問題