0

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

我有一些类似于以下的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 Alistair 以 11 秒的优势击败了奥运铁人三项”

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

谢谢

4

1 回答 1

0

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

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

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

于 2012-08-08T15:23:27.443 回答