0

これは簡単にできるように思えますが、まだ答えを見つけることができていません。

次のようなjsonがあります。

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

Jackson 1.9.8でObjectMapperを使用してデシリアライズしています

これをjacksonでデシリアライズすると、standfirstプロパティの値は

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

一方、私がしたいのは次のとおりです。

「\u2022 アリステアがフィールドを細断し、オリンピック トライアスロンで 11 秒差で優勝」

これを達成する方法について何か提案はありますか?

ありがとう

4

1 に答える 1

0

CharacterEscapesJackson は、カスタムオブジェクトを登録することにより、カスタム エスケープ ルールを指定する方法を提供しますJsonFactory(それぞれObjectMapperに構成する独自のファクトリがあります)。CharacterEscapes必要に応じて for を直接指定することもできます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 に答える