我有一个包含服务器日志记录数据的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]);
}
答案 0 :(得分:0)
在解析JSON文件或XML文件时,您有两个选择。您可以完全在内存数据结构(树模型)中读取文件,从而可以轻松随机访问所有数据。或者您可以以流方式处理文件。在这种情况下,解析器可以通过推出事件来控制(如XML SAX解析器的情况),或者应用程序可以从解析器中提取事件。第一个优点是很容易链接多个处理器,但实现起来相当困难。第二个优点是它很容易编程,你可以在你需要的时候停止解析。
看看这个:
https://www.ngdata.com/parsing-a-large-json-file-efficiently-and-easily/