【问题标题】:parsing huge json data解析巨大的 json 数据
【发布时间】:2016-05-31 11:50:02
【问题描述】:

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

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

581901 行中的 JSON 示例

{"date":"30-May-2016:00:00:00","url":"retriveImage","status":"200","data":"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]);
      }

【问题讨论】:

  • 你找到解决这个问题的方法了吗?

标签: javascript jquery json browser flot


【解决方案1】:

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

看看这个:

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

【讨论】:

    猜你喜欢
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 2020-02-12
    相关资源
    最近更新 更多