解析巨大的json数据

时间:2016-05-31 11:50:03

标签: javascript jquery json browser flot

我有一个包含服务器日志记录数据的json数组。使用flot我正在绘制图表,我已成功完成了40多万个json对象。

我观察到和阵列中有581901个元素。 当我尝试解析浏览器崩溃时。 json数据的大小约为55MB。使用的浏览器是FF。有效的方法吗?

581901行中的JSON示例

  

{ “日期”: “30可能2016:00:00:00”, “URL”: “retriveImage”, “状态”: “200”, “数据”: “7480”}

我这样做:

for(var i=0;i<da.length;i++){
      var ts = moment(da[i].date,"D-MMM-YYYY");var ts1 = moment("30-May-2016","D-MMM-YYYY");
      if(ts.isSame(ts1)){
      var hour = parseInt(moment(da[i].date,"D-MMM-YYYY H:mm:ss").format("H"));
                var code =parseInt(da[i].status);
                if(code<500){
                    ct200++;
                }else{
                    if(code==503){
                        e503++;
                    }else{
                        eoth++;
                    }
                    ct503++;
                }
        }
        two.push([hour,ct200]);
        five.push([hour,ct503]);
      }

1 个答案:

答案 0 :(得分:0)

在解析JSON文件或XML文件时,您有两个选择。您可以完全在内存数据结构(树模型)中读取文件,从而可以轻松随机访问所有数据。或者您可以以流方式处理文件。在这种情况下,解析器可以通过推出事件来控制(如XML SAX解析器的情况),或者应用程序可以从解析器中提取事件。第一个优点是很容易链接多个处理器,但实现起来相当困难。第二个优点是它很容易编程,你可以在你需要的时候停止解析。

看看这个:

https://www.ngdata.com/parsing-a-large-json-file-efficiently-and-easily/