2010-10-27 18 views
5

Ich habe JSON wie folgt aus:JSON.NET: Deserialisieren Teil eines JSON-Objekt zu einem Wörterbuch

{ 
    "Property":"Blah blah", 
    "Dictionary": { 
     "Key1" : "Value1", 
     "Key2" : "Value2", 
     "Key3" : "Value3" 
    } 
} 

ich das „Wörterbuch“ Objekt als Wörterbuch extrahieren möchten (so es wie Key1 würde = > Wert1 usw.). Wenn ich nur das „Wörterbuch“ Objekt direkt habe, kann ich verwenden:

JsonConvert.DeserializeObject<Dictionary<string, string>> 

Was ist der beste Weg, nur die Wörterbuch Eigenschaft als Wörterbuch zu bekommen?

Vielen Dank im Voraus! Tim

Antwort

10

Ich brauchte eine kleine Weile, um es herauszufinden, aber ich fühlte mich einfach nicht wohl dabei, String-Parsing oder Regexes zu verwenden, um an den inneren JSON zu kommen, den ich möchte.

Einfach genug; Ich habe etwas in diese Richtung getan, um an die inneren Daten zu kommen:

Funktioniert gut genug.

+0

Wie gehst du von innerJObj (Typ 'JObject') zu einem Wörterbuch? – Brendan

1

Ich denke, Sie müssten das JSON analysieren und das äußere Objekt entfernen. Sie können festlegen, für welche Art von Objekt Sie das Deserialisieren durchführen, aber es gibt keine Möglichkeit, dem DESERIALISIEREN des äußersten Objekts zu verweigern.

+0

Gedanken über den besten Weg, um den inneren JSON zu bekommen? String-Parsing/Regex, oder gibt es eine JSON.NET-Methode? –

Verwandte Themen