2012-03-23 11 views
1

データストアの中にはスループットが高いものがあります。 Jacksonは、Jacksonを使用してJSONにシリアライズされたPOJOを使用しています。 JSONデータを圧縮する方法は何ですか?JSONデータサイズを減らすための一般的な手順は何ですか?

初期の考えの1つは、BSONを使用することを推奨しましたが、明らかにJSONよりはるかに小さくはありません。

+0

解決方法は見つかりましたか?私も同じ問題を抱えています。私はJSONドキュメントを持っていますが、私はそのJSONドキュメントをMessagepackを使ってシリアル化する方法がわかりません。何かご意見は?私はすでにこれについての質問を開いていますが、これまでの回答はありません。あなたが望むなら、私はここにリンクを提供することができます。 – ferhan

+0

JSON処理のためにJacksonライブラリを使用し、Smile拡張機能を使用して圧縮JSONを生成することができました。追加設定以外のサーバーサイドコードを変更する必要はありませんでした。 http://jackson.codehaus.org/1.8.8/javadoc/org/codehaus/jackson/smile/package-summary.html私はさまざまなシリアル化プロトコルのベンチマークをhttp://techtraits.com/noproto/ –

+0

それで、あなたはメッセージパックをまったく使っていないのですか?実際のJSONに笑顔拡張機能を適用しただけですか? – ferhan

答えて

1

あなたがJSONに固執していない場合は、MessagePackを試みることができる:

MessagePackは、バイナリベースの効率的なオブジェクトのシリアル化ライブラリです。 JSONのような多くの言語間で構造化オブジェクトを交換することができます。しかし、JSONとは異なり、非常に高速で小型です。

多くの言語で実装されています。

+0

残念なことに私たちの種類は、このプロジェクトのJSON水ですしかし、私はMessagePackについてよく聞いてきました –

+0

もう少し詳しく見てみると、同じオブジェクトに注釈を付けるだけで、データストレージ用にMessagePacksを使用することができます。 MessagePackがオブジェクト階層をサポートしているかどうか知っていますか?すなわち、私はParentClass x =復号(生データ)と言う。それはxが実際にChildクラスのインスタンスであることを知っているはずですか? –

+0

私はあなたが何を意味しているのか分かりませんが、JSONに変身したものはMessagePackでもシリアル化できるはずです。詳細は、[この回答](http://stackoverflow.com/a/6357042/675549)をご覧ください。これがストレージに関するものであれば、JSONをgzipできますか? – jtg

1

CJSONを参照してください。

いくつかの比較が表示されますhere