JSONデータをフォーマットで返すAPIを使用して、Webサイトからデータを取得していました。問題は、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\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();
}