2016-05-23 6 views
0

Wie kann ich eine verschachtelte Wörterbuch erstellen, die unten in C#Wie kann ich eine verschachtelte Wörterbuch in C# erstellen

gegeben wird, ist dieses verschachtelte 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" 
     } 
     } 

    ] 
} 

ich mit unten Skript versucht, aber es funktioniert nicht

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 }; 
     } 
} 

Wie könnte ich ein verschachteltes Wörterbuch in C# erstellen?

Ich mag verschachtelte Wörterbuch in oben Format

+0

haben Sie versucht 'Dictionary >'? –

+0

Nein, wenn Sie eine Lösung haben, können Sie bitte Code als Antwort hinzufügen? – Mounarajan

+0

Der von Ihnen gepostete JSON ist nicht gültig. Überprüfen Sie es unter [JSONLint.com] (http://jsonlint.com/) –

Antwort

0

Hier ist eine einfache, elegante Weise das verschachtelte Wörterbuch

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

Lassen Sie mich zu generieren wissen, ob das hilft, dann ist es der effizienteste Weg, einen verschachtelten zu erzeugen Wörterbuch meiner Meinung nach.

Verwandte Themen