我有一些类似于以下内容的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秒的优势击败了奥运会铁人三项赛”关于如何实现这一目标的任何建议?
由于
答案 0 :(得分:0)
Jackson提供了一种通过向CharacterEscapes
注册自定义JsonFactory
对象来指定自定义转义规则的方法(并且每个ObjectMapper
都有自己的工厂进行配置)。如有必要,您还可以直接为CharacterEscapes
指定JsonGenerator
。
可以从Jackson单元测试中找到一些使用示例:对于Jackson 1.9类,org.codehaus.jackson.impl.TestCustomEscaping
和org.codehaus.jackson.main.TestCharEscaping
。
由于此特定Unicode字符超出ASCII范围,因此您可以定义getEscapeSequence(int ch)
以返回正确的转义序列,否则可以使用默认设置。