在IE中解析非常大的JSON字符串会导致问题

时间:2011-09-06 04:34:29

标签: javascript json internet-explorer

我在IE8中解析一个2MB的JSON字符串。 JSON.Parse行需要一段时间才能返回,IE8会显示一条消息,询问用户是否要中止脚本。

有什么办法可以压制这条消息吗? (或以某种方式加速JSON.Parse)

我了解Microsoft KB175500,但这不合适,因为我的目标用户无权具有管理员权限,无法在其SOE计算机上进行注册表修改。

2 个答案:

答案 0 :(得分:3)

我有同样的问题。显然没有办法压制消息,但有一些技巧让IE 认为它仍在使用asynchronous iteration pattern(死链接,查看下面的评论)。

这是对我的一个问题的回答: loop is too slow for IE7/8

答案 1 :(得分:0)

如果浏览器对JSON解析器的使用时间不满意,我知道只有四种选择:

  1. 获得一个不需要这么长时间的更快的JSON解析器。
  2. 将您的JSON数据分解为更小的部分,这样您只需一次解析较小的部分。
  3. 修改JSON解析器以在块中工作,这样它可以解析一个块中的部分数据,然后在短暂的超时,解析下一个块等等...这将阻止浏览器提示,但可能很多编写/修改以这种方式工作的JSON解析器的工作。
  4. 如果您可以确定内容是安全的,那么您可以看到使用eval而不是JSON解析器来解决问题。