json_encode関数の改良HTMLコンテクストに出力する場合に必要なオプションが細かく分かれており、あまり出来の良い関数とは言えません。エスケープにはUnicodeエスケープを利用するHTMLコンテクストで必要になるエスケープ処理を1つのオプションにまとめるHTMLコンテクスト用にJSONでエスケープを行っても、JSONとしては正しいのでHTMLコンテクスト用のエスケープ処理をデフォルトで有効にする多少のリスクがあってもデータ量を減らすためJSONでUnicode文字コードをそのまま送れる文字コードは、エスケープ無しで送れるようにするオプションを作るが考えられます。JSON_HEX_QUOT);とすれば一応、HTMLとして解釈されるコンテクストに出力しても安全に使える事が分かります。JSONを出力する場合、JavaScriptとしてのみ評価されるコンテクストなのか、HTMLとして評価されてからJavaScriptとして評価されるコンテクストなのかを注意しなければなりませんが、この出力であれば考慮しなくても安全です。簡単(デフォルト)で安全な出力ができれば良いのですが、現在の仕様では4つもオプション指定が必要です。HTMLコンテクストではHTMLエスケープが推奨されている文字だからです。バグの無いHTMLパーサーであれば\のエスケープでも問題ないはずです。