値を期待して、フィールド名を書き込むことができません

サンダーKoenders:

私たちは2.9.8にジャクソンバージョン2.8.9から切り替わったとき、私たちはCBOR形式でデータをシリアライズして、いくつかのトラブルに走りました。結局のところ、我々が使用してきたカスタム・ジャクソン・モジュールは、この新しいバージョンでトラブルを引き起こしています。これらの問題は、バージョン2.9.0から始まります。

私はこの問題を再現するリポジトリを作り、私は無効になって私たちのカスタムすることを発見したTemporalAmountModule問題が去っていきました。私は書いていないTemporalAmountModule自分自身をしかしカスタムシリアライザとデシリアライザはcullpritているように見えます。これらは、任意の複雑なコードを導入していないが、私はシリアライザとデシリアライザに精通していないですので、彼らはもはや正常に動作しない理由を私は本当に理解していません。

私は私が午前問題を再現するリポジトリを作りました。あなたはモジュールを無効にすると、あなたはそれが正常に動作して見ることができます。あなたは(その範囲内の最新の2.8.11です)2.8.xにジャクソンのバージョンを変更した場合、あなたはそれがあまりにも正常に動作確認することができます。

https://github.com/Archcry/reproduce-jackson-error

期待される結果は、それが(そのことについてまたは2.8.11)バージョン2.8.9にあったものと同じでなければなりません。ジャクソンはマイナーバージョンのリリースのいずれかの機能を壊すべきではありませんが、それは(彼らがした)特定のメソッドを廃止します。私はそれらを更新しようとしましたが、同じ結果になってしまったので、非推奨の方法はかかわらず、問題を引き起こしたものではありません。現時点では、実際の結果は、というエラーですCan not write a field name, expecting a value

サンダーKoenders:

問題は、GitHubの上で解決した、見https://github.com/FasterXML/jackson-databind/issues/2320

編集:問題はで働いていると、最初の場所で起こっていてはいけません。

編集2:問題は、もはや原因、それは再現することが難しい状況の不足のために、上の仕事をされていません。

私はサンプルプロジェクトからの例外を見ることができます残念ながら、私は組み合わせで簡単なバージョンを構築することはできませんよ。それはimmutables、注釈の使用に関連する可能性があるのだろうか。私は今のところあるよう-私はこれを残すと思うので。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=193041&siteId=1