Javascript 我应该设置MaxJsonLength的大小?这有关系吗?

Javascript 我应该设置MaxJsonLength的大小?这有关系吗?,javascript,c#,asp.net,json,Javascript,C#,Asp.net,Json,我有大量的数据,数据的大小可能会有所不同。当数据被序列化并从C#传递给JS时,我遇到了MaxJsonLength错误 我找到了一个解决方案,效果很好。但我很好奇,把数字定得太高是否不好? 显然,它默认为102400(100k)是有原因的 我是否可以在JavaScriptSerializer字符串长度中找到数据的大致大小,这样我就可以减少配置文件中的数字 谢谢当我设置此属性时,我们的JSON是unicode(每个字符两个字节),因此我们对11MB的JSON文件使用以下内容: 1024*1024*2

我有大量的数据,数据的大小可能会有所不同。当数据被序列化并从C#传递给JS时,我遇到了MaxJsonLength错误

我找到了一个解决方案,效果很好。但我很好奇,把数字定得太高是否不好? 显然,它默认为102400(100k)是有原因的

我是否可以在JavaScriptSerializer字符串长度中找到数据的大致大小,这样我就可以减少配置文件中的数字


谢谢

当我设置此属性时,我们的JSON是unicode(每个字符两个字节),因此我们对11MB的JSON文件使用以下内容:

1024*1024*22

这给了我们23068672

因此,我的示例如下——如果计算JSON的实际长度(11MB),如果是unicode(22MB),则将其加倍,然后计算字节数(1024*1024)

要获取JSON的长度,只需从JSON字符串中计算字节数:


var count=Encoding.UTF8.GetBytes(json).Length

谢谢你的帮助。我已经按照您所说的做了,并且在asp.net中自动的JavaScriptSerializer发送和处理数组之前,我已经对c#中的数组做了这样的处理。我已经完成了这个
JavaScriptSerializer json=newJavaScriptSerializer();序列化(数据);int a=Encoding.UTF8.GetBytes(json.ToString()).Length它给了我52个,用你的计算结果是54525952。不过,我测试了它,并将其减少了一个,然后将其添加到配置文件中。尽管如此,该计划还是奏效了。