2016-05-23 10 views
0

は、どのように私はC#で以下に与えられているネストされた辞書を作成することができますはどのように私はC#でネストされた辞書を作成することができます

これは、ネストされたJSON

{ 
    "blue":[ 
     { 
     "s":{ 
      [ 
       "store1", 
       "store2" 
      ], 
      "availble" 
     } 
     }, 
     { 
     "m":{ 
      [ 
       "store3", 
       "store4" 
      ], 
      "not availble" 
     } 
     }, 
     { 
     "l":{ 
      [ 
       "store5" 
      ], 
      "availble" 
     } 
     } 
    ] 
}, 
{ 
    "back":[ 
     { 
     "xxl":{ 
      [ 
       "store2", 
       "store4" 
      ], 
      "not availble" 
     } 
     }, 
     { 
     "m":{ 
      [ 
       "store3", 
       "store4" 
      ], 
      "not availble" 
     } 
     } 

    ] 
} 

である私は、以下のスクリプトを使ってみましたが、それは動作していません

var variations_hash = new Dictionary<string, List<string>>(); 
var stores = new[] {"s","m","xl","xxl","xxxl","v"}; 
var color_trans = new[] {"blue","black"}; 
foreach(var store in stores){ 
if (variations_hash.ContainsKey (color_trans)) { 

     List<String> list; 
     if (variations_hash.TryGetValue (color_trans, out list)) { 
     list.Add (store); 
     } 

    } else { 

     variations_hash[color_trans] = new List<string> { store }; 
     } 
} 

どのようにしてCでネストされた辞書を作成できますか?

私は上記の形式で、ネストされた辞書

+0

「Dictionary >」を試してみましたか? –

+0

いいえ解決策がある場合、答えとしてコードを追加してください。 – Mounarajan

+0

投稿したJSONが無効です。 [JSONLint.com](http://jsonlint.com/)で確認してください。 –

答えて

0

ここではそれがネストされたを生成するための最も効率的な方法ですが、それが助け場合、私に教えてください

Dictionary<int, Dictionary<int, string>> dict = things 
    .GroupBy(thing => thing.Foo) 
    .ToDictionary(fooGroup => fooGroup.Key, 
        fooGroup => fooGroup.ToDictionary(thing => thing.Bar, 
                thing => thing.Baz)); 

ネストされた辞書を生成するための簡単な、エレガントな方法でほしいです私の意見では辞書。

関連する問題