使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/laizhixue/article/details/81204973

最近公司布置了报表的开发,这个模块涉及到了几万条数据的导入,然后后台处理,再返回到前台并显示出来,不过当我导入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;
                    }
                }
   });

猜你喜欢

转载自blog.csdn.net/laizhixue/article/details/81204973