我收到的一些JSON数据不在“name:value”对中,但它是这样的:
[[\"ManagerID\",\"EmployeeID\",\"Domain\"],[\"2\",\"110\",\"BBU\"]]
我无法使用JsonConvert.DeserializeObject
解析此数据,因为我收到错误
“要修复此错误,请将JSON更改为JSON对象(例如 {“name”:“value”})或将反序列化类型更改为数组或a 实现集合接口的类型(例如ICollection,IList) 像可以从JSON数组反序列化的List。 JsonArrayAttribute也可以添加到类型中以强制它 从JSON数组反序列化。路径'',第1行,第1位。“
我正在使用Visual Studio 2008和.net framework 3.5。如果您需要更多说明,请告诉我。
答案 0 :(得分:2)
让我们假设你的对象属于这个类:
class MyObject
{
public int ManagerID { get; set; }
public int EmployeeID { get; set; }
public string Domain { get; set, }
}
然后你的JSON与它不匹配,你的JSON应该如下:
{"ManagerID": 2, "EmployeeID": 110, "Domain": "BBS"}
如果你真的想阅读上面提到的JSON:
JsonConvert.DeserializeObject<string[][]>(yourString);
尝试
Newtonsoft.Json.JsonConvert.DeserializeObject<string[][]>("[[\"ManagerID\",\"EmployeeID\",\"Domain\"],[\"2\",\"110\",\"BBU\"]]")
但那不是方便的结构......