在 Javascript 中迭代 JSON 字符串的最快方法

Posted

技术标签:

【中文标题】在 Javascript 中迭代 JSON 字符串的最快方法【英文标题】:Fastest way to iterate through JSON string in Javascript 【发布时间】:2010-11-06 05:54:05 【问题描述】:

我一直在使用 $.each 的 jQuery 框架来遍历我通过 AJAX 调用收到的 JSON 字符串。现在这个字符串有时非常大,结果导致 IE6/7/8 爬行。

我想知道是否有更快的方法来遍历整个数据。

感谢您的宝贵时间。

【问题讨论】:

你是如何迭代它的?您是在解析它,还是在评估它?您只需要某些部分吗? 来自flickr的一些很好的客户端解析和性能提示 这个json..的结构是什么?只是一个巨大的对象或一大堆对象..? 【参考方案1】:

希望还来得及!

简单的-for-怎么样?

for(i = 0; i < data.length; i++) 
    data[i].property = 'todo';

否则-for in-

var mycars = [name:'Ferrari', name:'BMW'];
for (i in mycars)

    document.write(mycars[i].name + "<br />");

这是完整的答案:How do I iterate over a JSON structure?

【讨论】:

【参考方案2】:

如何使用常规的 javascript 函数?

例如,如果您有一个包含项目的 JSON 对象,您可以评估 JSON 字符串以将其转换为 javascript 对象,并使用“for (i in object)”对其进行迭代。

【讨论】:

我假设 Alec 在 xhr 调用中使用 json 数据类型,因此 jquery 将评估响应。

以上是关于在 Javascript 中迭代 JSON 字符串的最快方法的主要内容,如果未能解决你的问题,请参考以下文章

javascript 迭代/循环通过JSON对象

通过 Javascript 迭代复杂 JSON 对象的最简单方法

如何在 Android 中使用 Java 和 org.json 迭代这个 JSON 数组?

在 for 循环的某些迭代中,字符串的长度为 0,而在其他迭代中则为 0

如何在 JavaScript 中迭代包含数组的对象?

我制作了一个JavaScript对象,无法对其进行迭代,甚至无法访问其参数。我想念什么?