使用DataContractJsonSerializer反序列化变量Type JSON数组
我有一个这种forms的JSON字符串:
string jsonStr = "[\"A\", [\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"
我试图使用C#.NET反序列化器DataContractJsonSerializer使用以下代码片段反序列化JSON
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr)); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof); X data = (X)serializer.ReadObject(ms);
既然JSON数组是一个变量类型的数组,我不知道X应该是什么类型的对象
如果我的字符串是
jsonStr = "[[\"Martini\", \"alovell\"],[\"Martin\", \"lovell\"]]"
我可以用这个:
X = List<List>
这对我有用。 我想知道是否有任何方法可以反序列化变量类型的JSON数组?
您可以使用Json.NET来执行此操作。
JArray a = JArray.Parse(jsonStr);
JArray将包含字符串或嵌套的JArray,具体取决于JSON。