2011-06-24 14 views
1

私の現在のプロジェクトは、JSONでajaxリクエストを介して多くのデータをブラウザに送信します。gzip圧縮を使用したJSON形式

私はどのフォーマットを使用すべきかを決めようとしています。私は心を持っている二人は、で動作するように簡単ですので、最初の方法が優れている

[ 
    "colname1" : "content", 
    "colname2" : "content", 
], 
[ 
    "colname1" : "content", 
    "colname2" : "content", 
], 
... 

{ 
"columns": [ 
    "column name 1", 
    "column name 2", 
], 
"rows": [ 
    [ 
     "content", 
     "content" 
    ], 
    [ 
     "content", 
     "content" 
    ] 
    ... 
] 

}

です。一度受け取ったオブジェクトに変換するだけです。 2つめは、最初のような形式に変換するために後処理が必要になるので、JavaScriptで作業する方が簡単です。

2番目の方が冗長性が低いため、帯域幅が少なくなり、ダウンロードがより迅速になります。圧縮前は、通常、最初のフォーマットのサイズの0.75%から0.85%です。

GZip圧縮は事をさらに複雑にします。ファイルサイズの違いを0.85%から0.95%に近づける

どのフォーマットを使用するのがよいでしょうか、その理由は何ですか?

答えて

2

私はRJSONを使用することをお勧めしたい:

RJSON(再帰JSON)よりコンパクトな再帰形式に任意のJSONデータの収集を変換します。圧縮されたデータはまだJSONで、JSON.parseで解析できます。 RJSONは、同種のコレクションだけでなく、空き構造のデータセットも圧縮できます。

例:

JSON:

{ 
"id": 7, 
"tags": ["programming", "javascript"], 
"users": [ 
    {"first": "Homer", "last": "Simpson"}, 
    {"first": "Hank", "last": "Hill"}, 
    {"first": "Peter", "last": "Griffin"} 
], 
"books": [ 
    {"title": "JavaScript", "author": "Flanagan", "year": 2006}, 
    {"title": "Cascading Style Sheets", "author": "Meyer", "year": 2004} 
] 
} 

RJSON:

{ 
"id": 7, 
"tags": ["programming", "javascript"], 
"users": [ 
    {"first": "Homer", "last": "Simpson"}, 
    [2, "Hank", "Hill", "Peter", "Griffin"] 
], 
"books": [ 
    {"title": "JavaScript", "author": "Flanagan", "year": 2006}, 
    [3, "Cascading Style Sheets", "Meyer", 2004] 
] 
} 
0

例1の2番目のビットは "rowname1"ではありませんか?私は実際には例2を得ていないので、私はあなたを1に向けてお勧めしたいと思います。最初に前処理することなく、データを即座に実行できると言わざるを得ません。正当化:私は一度完全に動作することが判明したアレイシステムを最適化するのにあまりにも長い時間を費やしましたが、今はそれを更新するのが大変です。

関連する問題