我正在使用其 API 从网站获取数据,该 API 以JSON
格式返回数据。问题是当JSON
. 它会返回它的UNICODE
,例如Münich
将是Mu\u0308nich
。
当我将此JSON
字符串传递给 的构造函数时org.codehaus.jettison.json.JSONObject
,Mu\u0308nich
被转换为Munich (n has an umlaut)
. 错误的。
我很晚才意识到这一点(在获取整个数据之后)。现在我使用以下方法将其转换回Unicode
表单,即我传递Munich (n has an umlaut)
给该方法并返回Mu\u0308nich
。
我想以某种方式将其转换Mu\u0308nich
为Münich
. 有任何想法吗?
请注意,只有u\u0308
toü
和o\u0308
toö
和a\u0308
toä
等需要转换。
用于转换回来的方法 -
public static String escapeUnicode(String input) {
StringBuilder b = new StringBuilder(input.length());
Formatter f = new Formatter(b);
for (char c : input.toCharArray()) {
if (c < 128) {
b.append(c);
} else {
f.format("\\u%04x", (int) c);
}
}
return b.toString();
}