2009-08-01 16 views
9

tengo una cadena JSON en esta forma:deserializar variable de tipo matriz JSON usando DataContractJsonSerializer

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

Estoy tratando de deserializar el JSON usando C# .NET deserializer DataContractJsonSerializer con el siguiente fragmento de código

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

Ahora, ya que la matriz JSON es una matriz de tipos de variables No sé qué tipo de objeto X debe ser

Si m S String eran

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

que podría utilizar esto:

X = List<List<String>> 

y que trabajaría para mí. Me preguntaba si hay alguna forma de deserializar la matriz JSON de tipo variable.

Respuesta

8

Puede usar Json.NET para hacerlo.

JArray a = JArray.Parse(jsonStr); 

El JArray contendría cadenas o JArray anidados según el JSON.

+0

Uso este ensamblaje, y es fantástico. Recomiendo esto. –

+0

Gracias James que funcionó para mí – Selene

Cuestiones relacionadas