JSONのサイズ

現在デジタルサーカスで担当させて頂いてるサイトで「動作が重い」というのが問題になっていまして。
原因はいろいろあるのだけどJSONのサイズが大きいってのが一番の問題。

モデムやISDNの頃はHTMLのサイズや画像のサイズがよく議論されていたのだけどFTTHの普及に伴ってあまりされなくなってきた一方、スマホサイトは回線が3GでFTTHと比べると低速なのでやっぱりちょっと気にしないといけません。

スマホブラウザってJavaScriptは立派にPCと同じ機能を持ってるもんだからついJSONを無邪気に使いたくなるのだけどPHPのjson_encodeでJSONを作るとUTF-8日本語文字が\uxxxx形式にエンコードされてなんと1文字が6バイトになってしまうのですね。

PHPのマニュアルを改めて読んでみたらPHP5.4.0以降なら以下の様にすれば日本語文字をエンコードせずに出力できそう。

json_encode($array, JSON_UNESCAPED_UNICODE);

ただこのバージョンは現時点ではやや難しい。
json_encode()を使用しない方法を検討しないといけなそうです。