当前位置: 首页 > 面试题库 >

您是否可以避免Gson将“ <”和“>”转换为Unicode转义序列?

潘弘博
2023-03-14
问题内容

我注意到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编写)。


问题答案:

您需要禁用HTML转义。

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


 类似资料:
  • 嗨,我在Python中将utf-8 json转换成unicode escape json时遇到了一些问题 我知道如何将utf-8.txt转换为unicodeescape.txt 但是,我在Python中使用json模块时遇到了上面应用的问题,如下所示 它保存得很好,但是,当涉及到json中的双引号(“)时,它会自动添加双反斜杠(\\),因此unicode-esc.json文件在调用python脚本

  • 我用的是美丽的汤。它给我一些超文本标记语言节点的文本,但是这些节点有一些Unicode字符,这些字符被转换为字符串中的转义序列。 例如,一个具有以下: 的 HTML 元素由美丽的汤检索,如:作为以下字符串:,这只能在 Python 控制台中读取。但是,当写入JSON文件时,它变得不可读。注意:我使用以下代码保存到 JSON 文件: 我如何将这些Unicode字符转换回UTF-8或任何使它们可读的东

  • 问题内容: 当我尝试使用“ unicode(head.contents [3])”获取标签的内容时,我得到类似于以下的输出:“ Christensen Sk \ xf6ld”。我希望转义序列作为字符串返回。如何在python中做? 问题答案: 假设Python将名称视为普通字符串,则首先必须将其解码为unicode: 实现此目的的另一种方法: 注意字符串前面的“ u”,表示它是未编码的。如果进行打

  • 问题内容: 在下面查看我的代码。我有一个包含Unicode字符代码的JSON字符串。我将其转换为Java对象,然后将其转换回JSON字符串。但是,您可以看到输入和输出JSON字符串不匹配。是否可以使用Gson将我的对象转换为原始JSON字符串?我想和一样。 问题答案: 不幸的是,Gson似乎不支持它。所有JSON输入/输出分别集中在Gson(从2.8.0开始)和。可以使用其私有方法读取Unicod

  • 问题内容: 我知道,当我阅读答案时,会发现我已经忽略了我眼中的事物。但是我花了最后30分钟试图自己弄清楚,但没有结果。 因此,我正在用Java 6编写程序,并发现了一些(对我而言)奇怪的功能。为了尝试隔离它,我举了两个小例子。我首先尝试了以下方法: 编译器拒绝了它:类型不匹配:无法从null转换为int。 这对我来说很好,并且尊重我熟悉的Java语义。然后我尝试了以下方法: 编译没有错误!但是,我

  • 我有一个项目,其中log4j到slf4j-2.17.1.jar作为依赖项的一部分自动下载。我还添加了排除标记。但仍然在下载它。 需要注意的是,我在pom.xml.的属性标签中指定了log4j2版本,它正在下载log4j-api-2.17.1.jar(这是预期的)log4j-to-slf4j-2.17.1.jar(这不是必需的)。 有没有解决这个问题的办法?请注意,我已经检查过,jar在类路径中也不