你能避免Gson将"<"和">"转换为unicode转义序列吗?

Jon*_*nik 116 java json gson

我注意到Gson将字符串"<"转换为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 = "<";
}
Run Code Online (Sandbox Code Playgroud)

上下文:我正在创建的JSON片段与HTML页面甚至JavaScript无关; 它只是用于将某些结构化信息传递给另一个软件(嵌入在设备中,用C语言编写).

Bal*_*usC 234

您需要禁用HTML转义.

Gson gson = new GsonBuilder().disableHtmlEscaping().create();
Run Code Online (Sandbox Code Playgroud)

  • 我想知道它为什么默认开启.JSON与HTML无关.[spec](http://www.json.org/)只声明```和`\\`需要转义. (6认同)