反序列化包含html的json而不转换实体

时间:2012-08-08 09:08:04

标签: java json jackson

似乎这应该很简单,但我还没有找到答案。

我有一些类似于以下内容的json:

{
"standfirst":"\u2022 Alistair shreds field to win <strong>Olympic</strong> triathlon by 11 seconds"
}

我在Jackson 1.9.8中使用ObjectMapper进行反序列化

当杰克逊对其进行反序列化时,standfirst属性的值变为

"• Alistair shreds field to win <strong>Olympic</strong> triathlon by 11 seconds"

而我想要的是:

“\ u2022阿利斯泰尔以11秒的优势击败了奥运会铁人三项赛”

关于如何实现这一目标的任何建议?

由于

1 个答案:

答案 0 :(得分:0)

Jackson提供了一种通过向CharacterEscapes注册自定义JsonFactory对象来指定自定义转义规则的方法(并且每个ObjectMapper都有自己的工厂进行配置)。如有必要,您还可以直接为CharacterEscapes指定JsonGenerator

可以从Jackson单元测试中找到一些使用示例:对于Jackson 1.9类,org.codehaus.jackson.impl.TestCustomEscapingorg.codehaus.jackson.main.TestCharEscaping

由于此特定Unicode字符超出ASCII范围,因此您可以定义getEscapeSequence(int ch)以返回正确的转义序列,否则可以使用默认设置。