2016-05-31 18 views
3

私はサーバーのログデータを含む単一のjson配列を持っています。 flotを使って私はグラフをプロットしています。私は40,000以上のjsonオブジェクトで成功しました。巨大なjsonデータを構文解析する

581901個の要素と配列があることがわかりました。 ブラウザを解析しようとするとクラッシュします。 jsonデータのサイズは約55MBです。使用されるブラウザはFFです。これを行うための効率的な方法はありますか? "30月、2016:00:00:00"、 "URL": "retriveImage"、 "ステータス": "200" 581901線

{ "日付" のうち

サンプルJSON 、 "データ": "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ファイルを解析すると、次の2つのオプションがあります。ファイル全体をメモリ内のデータ構造(ツリーモデル)で読み取ることができます。これにより、すべてのデータに簡単にランダムにアクセスできます。または、ストリーミング方式でファイルを処理することもできます。この場合、(XML SAXパーサーの場合のように)イベントをプッシュアウトすることによってパーサーを制御することも、アプリケーションがパーサーからイベントをプルすることもできます。最初の方法は、複数のプロセッサを連鎖させるのは簡単ですが、実装するのは非常に難しいという利点があります。 2つ目は、プログラミングが簡単で、必要なときに解析をやめることができるという利点があります。

はこれを見ている:

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

関連する問題