• 締切済み

JSONでの日本語を出力する際のエンコードについて

Javaでorg.json.simpleを使ってJSON形式のデータを出力しようとしています。 公開されているAPIなどをみると、日本語の部分は"\uxxxx"のように エスケープされているかと思うのですが、 下記の方法ではそのまま日本語で"あいうえお"と表示されてしまいます。 import org.json.simple.JSONObject; JSONObject obj = new JSONObject(); obj.put("name", "あいうえお"); System.out.print(obj.toString()); JSONで日本語を扱う場合は必ずエスケープしなくてはならないでしょうか? この場合はどのようにしたらエスケープできるでしょうか?

みんなの回答

回答No.1

>JSONで日本語を扱う場合は必ずエスケープしなくてはならないでしょうか? >http://www.json.org/ しなければならないってことはないんじゃない? したほうが、例えば、HTMLにくっついているjavascriptからそのデータ引用したときに、jsの符号化方式気にしないで使えるだろうから、使う側にとって便利ではあるだろうけど。 質問者さんのレベルなら、ソースをちゃんと見れば何で「そのまま出力する」挙動しているのか、どう直したらいいかわかるとおもう。 http://code.google.com/p/json-simple/source/browse/trunk/src/org/json/simple/JSONObject.java#143 http://code.google.com/p/json-simple/source/browse/trunk/src/org/json/simple/JSONValue.java#227

関連するQ&A