评估函数的最大字符串长度是多少?

4

我有一个长度为65000的字符串,需要使用eval将其转换为JSON对象。
但是我遇到了意外的标记错误。我想知道在哪个字符串长度以上,eval不再起作用?


1
执行eval从来不是一个好主意。更不用说执行一个长度为65k的代码片段了。 - Madara's Ghost
3
使用JSON.parse。我收到了更大的JSON字符串。这个字符串来自哪里?是服务器响应吗? - Denys Séguret
2
顺便提一下,eval 函数可以解析的字符串长度似乎在软件方面没有限制。使用 Firefox 13.1,我能够解析两百万个字符。 - Matthias
1
你为什么认为你的 JSON 中没有错误呢? - jfriend00
1
其实呢,这是一个无效的 JSON,最后还带了一个分号。但对于较短的字符串来说,eval 函数可以完美地解析(即使最后有分号)。但对于较长的字符串,eval 会抛出“unexpected token ;”错误。 - user1490496
显示剩余3条评论
1个回答

6
你可以尝试通过JSON解析器运行它。
var obj = JSON.parse(str);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接