I noticed that Gson converts the string "<" into an unicode escape sequence in JSON output. Can you avoid this somehow, or do characters like "<" and ">" always have to be escaped in 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无关;它只是用来将某些 struct 化信息传递给另一个软件(嵌入在设备中,用C编写).

推荐答案

你需要disable HTML escaping美元.

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

Json相关问答推荐

Bash和echo命令出现意外结果

写入JSON文件的流

解析SQL中的嵌套JSON

基于 JSON 字段的 Jolt 条件标志

使用 jq,如何将两个属性构成键的对象数组转换为对象的索引对象?

Bicep脚本中如何设置弹性池的维护窗口?

Jolt 规范将父对象中的所有键应用于数组中的所有对象

使用 jq 将非统一的 json 输出转换为汇总表

JSONPath:查找子项目条件在字符串列表中的项目

如何使用 Google 表格应用程序脚本将 JSON 中的多个字段提取到 Google 表格中

转义 Haskell 记录的字段

阅读 JSON 正文 Firebase 云函数

嵌套 JSON 到 CSV(多级)

从 JSON 响应中获取最新版本发布字段

如何将任意 json 对象发布到 webapi

如何在 django rest 框架中定义列表字段?

jQuery循环.each()JSON键/值不起作用

如何在 Rails 模型中验证字符串是否为 json

Swift :将 struct 转换为 JSON?

java.lang.BootstrapMethodError:调用站点#4 bootstrap 方法的异常,初始化 retrofit 时