【发布时间】:2016-07-13 03:54:07
【问题描述】:
我的 Web 服务中有一个方法,它运行两个 linq 查询并将结果插入到锯齿状数组中。我现在正在尝试序列化和反序列化数组。我正在使用 newtonsoft json 来执行此操作。
但是,当我尝试反序列化数组时,我得到以下信息:
附加信息:无法创建 System.Array 类型的实例。类型是接口或抽象类,不能 被实例化。路径“[0] [0]”,第 1 行,位置 3。
在我的网络服务方法中,我有(序列化):
Array[][] myArray = new Array[2][];
myArray[0] = mtsections; //linq query 1
myArray[1] = sectionDetails; //linq query 2
string myp = JsonConvert.SerializeObject(myArray);
return myp;
在我的客户中,我有(反序列化):
string JSONString = context.ExpordOfQuestionsWord(RaId);
Array[][] myArray = new Array[2][];
myArray = JsonConvert.DeserializeObject<Array[][]>(JSONString);
有人知道怎么回事吗?
谢谢。
【问题讨论】:
-
mtssections和sectionDetails的类型有哪些? -
在我的 linq 查询结束时,我调用了“.ToArray()”。所以它们是数组类型。我可以在我的客户端看到 json 字符串,所以我认为这不是问题。
-
请看文档,它是一个抽象类。 msdn.microsoft.com/en-us/library/system.array(v=vs.110).aspx我相信你使用 Array[][] 不正确。
-
抱歉,我对 Web 服务真的很陌生,您有任何如何正确执行此操作的示例> 非常感谢。
标签: c# serialization json.net deserialization jagged-arrays