我正在使用GSON来序列化我的对象。但是有些原因,它并没有逃脱某些unicode字符。
Gson gson = new Gson();
System.out.println(gson.toJson("™"));
System.out.println(Character.codePointAt("™", 0) );
System.out.println(Character.codePointAt("™", 1) );
输出:
“™”
194
8482
是否有设置确保字符被转义?
答案 0 :(得分:6)
没有理由在JSON字符串中允许转义unicode字符。
来自json.org:
如果您在将JSON发送到浏览器时遇到问题,请检查您的HTTP标头是否设置为UTF-8。
如果你真的想像Java一样转义unicode字符,你可以使用apache commons's StringEscapeUtils#escapeJava,但你可能不应该这样做。