【问题标题】:What's faster to parse lots of data (5Mb): eval or json?解析大量数据(5Mb)更快:eval 还是 json?
【发布时间】:2023-12-22 04:34:02
【问题描述】:

我想通过 ajax 获取数据对象的集合并将它们解析为 JS 数据。

目前我有两个选择: - 服务器返回有效的 javascript 代码,然后我对其进行评估。 - 服务器返回 JSON 对象,然后我评估 json 对象

Firefox 中最快的是什么? (我只关心“解析”性能,不关心服务器或数据传输)

【问题讨论】:

    标签: javascript jquery ajax json eval


    【解决方案1】:

    看看the results VinylFox came up 在野外测试 JSON 解码时的情况。本机函数在所有个浏览器中表现最佳。

    【讨论】:

    • 任何人都知道一个更最新的比较,它也考虑简单地加载 javascript(例如,通过脚本标签,或者,实际上,需要或等效?)
    【解决方案2】:

    在 Firefox 3.5+ 中有一个原生 json 解析函数 window.JSON.parse - 这可能是最快的。在较旧的浏览器中,(new Function("return "+json))() 可能会更好

    【讨论】:

    • Chrome 也有一个原生 JSON 解析器(相同的 API)。
    • 大多数现代浏览器都会这样做,我只是在回答“Firefox 问题中最快的是什么” - 但是,是的,大多数新浏览器都有这个。您可以使用if (JSON && JSON.parse){} 进行测试