私のJSアプリケーションでは、ドキュメントをサーバーにアップロードしています。 文書はUint8Array
に保存されています。つまり、文書は整数で構成されるArrays
と表されます。整数配列JSON表現の短縮
文書をアップロードする前に、I JSON.stringify
文書をアップロードしてください。 ここでは例があります。
var document = [0,5,5,7,2,234,1,4,2,4]
JSON.stringify(document)
=> "[0,5,5,7,2,234,1,4,2,4]"
それから私は、サーバーにJSON-表現を送ります。
私の問題は、JSON表現が元のInteger-Arrayよりもはるかに大きなファイルサイズを持っていることです。私は、Array
がJSON-String
に変換されているからだと思います。私はサーバーにもっと多くのデータを送り、それから必要なものです。 JSONでより圧縮されたデータを保存するにはどうすればよいですか?
Arrayを最初にBase64に変換してからJSONに変換すると、JSON表現がもっと小さくなると思っていました。
あなたのアイデアは何ですか?おかげ
JSONが実際には欲しくないようです。 – SLaks
BSONを試しましたか? – Bergi
配列の内容は何ですか? 0-255の範囲内の任意の値をほぼ同じ比率で使用しますか、それともよりASCIIのような値を使用しますか? Base64は、上記のJSON配列表現よりも優れた比率を与えます:1バイトは平均1.33バイトになりますが、配列表現は3.57バイトになります。しかし、ASCIIのようなデータがほとんどであれば、1バイトに近づくことができます。 – jcaron