2009-08-01 84 views
9

我在此形式的JSON字符串变量类型JSON数组:反序列化使用DataContractJsonSerializer

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

我试图使用C#的.NET解串器DataContractJsonSerializer用下面的代码片断

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

现在因为JSON数组是一个变量类型的数组我不知道什么类型的对象 X应该是

如果m Ÿ字符串是

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

我可以用这个:

X = List<List<String>> 

而且会为我工作。我想知道是否有任何方法来反序列化变量类型的JSON数组?

回答

8

您可以使用Json.NET来做到这一点。

JArray a = JArray.Parse(jsonStr); 

根据JSON,JArray将包含字符串或嵌套的JArray。

+0

我使用这个程序集,它太棒了。我强烈推荐这个。 – 2009-08-01 04:51:30

相关问题