1. ホーム
  2. java

[解決済み] Gsonが"<"と">"をユニコードのエスケープシーケンスに変換するのを避けることができますか?

2022-05-10 08:36:45

質問

ということに気づきました。 グソン は、JSON出力の文字列 "<" をUnicodeエスケープシーケンスに変換します。あるいは、JSONでは常に"<"や">"などの文字をエスケープする必要がありますか?

この例では、次のようにプリントします。 {"s":"\u003c"} 単純に欲しい {"s":"<"} .

public static void main(String[] args) {
    Gson gson = new GsonBuilder().create();
    System.out.println(gson.toJson(new Foo()));  
}

static class Foo {
    String s = "<";
}

コンテキスト:私が作成しているJSONの一部は、HTMLページやJavaScriptとも関係がなく、ある構造化された情報を別のソフトウェア(デバイスに組み込まれ、Cで書かれている)に渡すために使用されているだけです。

どのように解決するのですか?

が必要です。 HTMLエスケープを無効にする .

Gson gson = new GsonBuilder().disableHtmlEscaping().create();