簡體   English   中英

序列化和反序列化Jagged數組C#

[英]Serializing and Deserializing a Jagged Array C#

我的Web服務中有一個方法,該方法運行兩個linq查詢並將結果插入鋸齒數組中。 我現在正在嘗試序列化和反序列化數組。 我正在使用newtonsoft json這樣做。

但是,當我嘗試反序列化數組時,我得到以下內容:

附加信息:無法創建System.Array類型的實例。 Type是接口或抽象類,無法實例化。 路徑'[0] [0]',第1行,第3位。

在我的webservice方法中,我有(序列化):

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);

有人知道發生了什么事嗎?

謝謝。

這是因為反序列化是通過首先使用默認構造函數創建對象然后填充內部值來執行的。 這里使用的是Array類,它是一個抽象類。 因此,您無法創建它的實例。

如果要使用兩個不同類型的數組,則簡單的解決方案是發送兩個json。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM