-1

我正在使用 jquery+html5 开发客户端应用程序

我将数据存储在一个文件中 (70 MB)

数据.json:

var myData = [
    {
      "id":"000000001",
      "title":"title1",
      "contents": [
               {"title":"title11", "description": "description", "text":"textextxxxxxxxx"}
               {"title":"title12", "description": "description", "text":"textextxxxxxxxx"}
               {"title":"title13", "description": "description", "text":"textextxxxxxxxx"}
      ]

    }
,.........
,.........
70Mb
]

//Application read this file and show "values" on console :
var data = myData
jQuery.each(data, function(){
           iterObject(this)
           })

iterObject : function(obj){
            var self = this
            $.each(obj, function(key, value) {
                if((typeof value) == 'object'){
                    self.iterObject(value)
                }
                else {
                   console.log(value)
                }
            })
}

问题是它工作得很慢

快速读取大对象的最佳方法是什么?

谢谢

4

1 回答 1

2

快速读取大对象的最佳方法是什么?

最好的方法是拆分它。现在您的整个文件需要加载到内存中,这非常消耗资源。

相反,我看到您的“对象”实际上是一个列表,可以拆分为块(例如,每行一个 JSON)并根据需要逐个读取。

换句话说:拆分负载,不要一次加载所有内容。

编辑:我刚刚注意到您正在将其加载到客户端。请考虑缓存- 如果在此期间没有更改,请不要加载您已经拥有的东西。

于 2012-11-16T15:25:57.233 回答