我正在使用其 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\u0308toü和o\u0308toö和a\u0308toä等需要转换。
用于转换回来的方法 -
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();
}