使用 JSON JavaScriptSerializer 進行序列化或反序列化時出錯。字串的長度超過了為 maxJsonLength 屬性設定的值。
阿新 • • 發佈:2018-12-26
最近公司佈置了報表的開發,這個模組涉及到了幾萬條資料的匯入,然後後臺處理,再返回到前臺並顯示出來,不過當我匯入4W條資料的資料,VS已經支援不過來,幾乎卡住,電腦也接近奔潰,不過處理2W條的資料還是沒問題的。
具體如何解決?
c#後臺方法,返回值為 string
public string AddSAPDataToList(List<List<string>> Data){ JavaScriptSerializer json = new JavaScriptSerializer(); json.MaxJsonLength = Int32.MaxValue; return json.Serialize(AMRModel); }
最後返回資料的時候需要做如下處理,AMRModel為一個物件:
JavaScriptSerializer json = new JavaScriptSerializer();
json.MaxJsonLength = Int32.MaxValue;
return json.Serialize(AMRModel);
前臺ajax呼叫程式碼:
$.ajax({ type: "post", url: "/AffectedMaterialReport/AffectedMaterialReport/AddSAPDataToList", data: { Data: tempArray2 }, async: false, //dataType:"JSON", success: function (data) { var datas = JSON.parse(data); //由JSON字串轉換為JSON物件 if (datas == null || datas == "") { return false; } } });