我注意到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 = "<";
}
上下文:我正在创建的JSON片段与HTML页面甚至JavaScript无关;它只是用来将某些结构化信息传递给另一软件(嵌入在设备中,用C编写)。
2
GSON是否默认这样做?哇 尽管从JSON规范的角度来看完全合法,但这是一个很奇怪的默认设置。
—
StaxMan 2010年
这也发生在“ =”字符上,该字符变为“ \ u003d”。
—
罗素·席尔瓦