1. 程式人生 > >使用 JSON JavaScriptSerializer 進行序列化或反序列化時出錯。字串的長度超過了為 maxJsonLength 屬性設定的值。

使用 JSON JavaScriptSerializer 進行序列化或反序列化時出錯。字串的長度超過了為 maxJsonLength 屬性設定的值。

最近公司佈置了報表的開發,這個模組涉及到了幾萬條資料的匯入,然後後臺處理,再返回到前臺並顯示出來,不過當我匯入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;
                    }
                }
   });