将超过50,000个字符的JSON字符串解析为javascript对象

Parsing a JSON string of 50,000+ characters into a javascript object

本文关键字:字符串 对象 javascript JSON 字符 000个      更新时间:2023-09-26

我试图评估使用jquery的ajax GET请求的50,000+字符的字符串。对于较小的数据集,代码将正确地评估它,但是firefox抛出一个错误"未终止的字符串文字"。经过一番挖掘,我尝试使用来自JSON.org的外部库,将'n, 'r'n和'r替换为空字符串(在服务器上),并用括号封装eval()。

下面是一些客户端代码(javascript):

http://pastebin.com/wsXuN7tb <-这里我使用了一个外部库

查看firebug后,我注意到服务器返回的json字符串不完整,并且在50,000左右的字符处被截断。我知道服务器正在返回一个有效的json字符串,因为我在将其发送到客户端之前将其转储到文件中,但客户端最终接收到截断的版本。

为什么会发生这种情况?还有别的办法吗?

url的长度限制因浏览器而异。5万多个字符绝对超过了每个浏览器的限制。对于如此大的数据,您应该使用POST。

实际上你对这个限制无能为力,因为这是浏览器限制,而不是你可以在服务器上更改的东西。你唯一能做的就是切换到POST。

原来我在c#服务器中使用的NetworkStream不能有那么大的缓冲区,所以我只是写了一半的缓冲区,刷新了它,然后写了另一半。

谢谢大家的帮助。