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

37 篇文章 0 订阅
15 篇文章 0 订阅

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

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laizhixue

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值