Deserialisieren von JSON mit dynamischen Schlüsseln

7

Ich bin neu bei JSON und lerne gerade über (De-) Serialisierung. Ich erhalte eine JSON-Zeichenfolge von einer Webseite und versuche, sie in ein Objekt zu deserialisieren. Problem ist, der Root-JSON-Schlüssel ist statisch, aber die zugrunde liegenden Schlüssel sind dynamisch und ich kann nicht erwarten, dass sie deserialisieren. Hier ist ein kleines Beispiel für die Zeichenfolge:

%Vor%

Für eine andere JSON-Zeichenfolge in meiner Anwendung verwendete ich einen JavascriptSerializer und antizipierte die Schlüssel mithilfe der Klassenstruktur. Was ist der beste Weg zur Deserialisierung dieser Zeichenfolge in ein Objekt?

    
Jason Higgins 22.11.2012, 17:44
quelle

3 Antworten

18

Im Ernst, keine Notwendigkeit, die dynamische Route hinunterzugehen; benutze

%Vor%

, um ein Wörterbuch zu erhalten, und dann können Sie z. B.

%Vor%

um die Schlüssel und die entsprechenden Werte zu erhalten.

    
Rawling 22.11.2012, 18:10
quelle
3

Sie können dynamic in .NET 4 oder höher verwenden. Zum Beispiel mit JSON.NET kann ich tun:

%Vor%

Sie können dann tun:

%Vor%

Allerdings ist nicht klar, wie es mit numerischen Schlüsseln umgehen soll. Sie können natürlich auch JObject direkt selbst verwenden, zum Beispiel:

%Vor%     
Lloyd 22.11.2012 17:49
quelle
0

Dies ist nicht bequem zu verwenden, da in # nicht definiert werden kann, beginnt eine Variable mit einer Zahl. Fügen Sie den Schlüsseln ein Präfix hinzu.

Oder versuchen Sie Folgendes:

%Vor%

Dann können Sie:

%Vor%     
Boris Gappov 22.11.2012 17:49
quelle

Tags und Links