2009-08-01 1 views
9

ich in dieser Form einen JSON-String haben:Deserialisieren Variable Typ JSON-Array mit DataContractJsonSerializer

string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]" 

Ich versuche, die JSON mit dem C# .NET Deserializer DataContractJsonSerializer mit dem folgenden Code-Schnipsel

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr)); 
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof<X>); 
X data = (X)serializer.ReadObject(ms); 
deserialisieren

Jetzt, da das JSON-Array ein Array von Variablentypen ist, weiß ich nicht, welcher Objekttyp X sein sollte

Wenn m y String waren

jsonStr = "[[\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]" 

Ich konnte verwenden:

X = List<List<String>> 

und das wäre für mich zu arbeiten. Ich habe mich gefragt, ob es eine Möglichkeit gibt, das JSON-Array vom Typ Variable zu deserialisieren.

Antwort

8

Sie könnten dazu Json.NET verwenden.

Das JArray würde je nach JSON entweder Zeichenfolgen oder verschachtelte JArrays enthalten.

+0

Ich benutze diese Baugruppe, und es ist fantastisch. Ich empfehle das sehr. –

+0

Danke James, das hat für mich funktioniert – Selene

Verwandte Themen