Ich habe eine JSON-Datei, die ich mit der Klasse System.Web.Script.Serialization
deserialize muss. Der folgende Code:Wie durchgeschachtelte Dictionary <String, Objekt>?
string json = File.ReadAllText(@"C:\file.json");
JavaScriptSerializer ser = new JavaScriptSerializer();
var dict = ser.Deserialize<Dictionary<string, object>>(json);
schafft eine verschachtelte Wörterbuch, so etwas wie dieses:
Dictionary<string, Object> outerDictionary;
Dictionary<string, Object> middleDictionary;
Dictionary<string, string> innerDictionary;
Ich muss nun einige der Werte aus der innerDictionary in eine C# Objektklasse greifen, wie:
public class Location
{
public string Id { get; set; }
public string Name { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
Meine Frage ist also, wie kann ich über die verschachtelte Dezimierung iterieren, um die Werte zu erhalten, die ich auf der innersten Ebene brauche?
UPDATE
Mit Hilfe von Jonesopolis
Ich habe jetzt die Struktur korrekt Schleife, aber ich bin immer noch nicht die Werte aus dem innersten Wörterbuch zu bekommen?
foreach (var outer in dict)
{
foreach (var middle in (Dictionary<string, object>)outer.Value)
{
foreach (var inner in (ArrayList)middle.Value)
{
foreach (var loc in (Dictionary<string, object>)inner)
{
}
}
}
}
Hallo, was hast du versuchen? – BugFinder