33

Json との間で POJO を読み書きするために Jackson を使用しようとしています。今のところ、サードパーティのクラスを除いて、自分のクラス用に構成して動作させています。Json を読み込もうとすると、次のエラーが表示されます。

org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type

いくつかの簡単なグーグル検索の後、私のクラスにはデフォルトのコンストラクターが必要か、デフォルトのコンストラクターをアノテーションでオーバーライドする必要があるようです。残念ながら、これが失敗しているクラスはサードパーティのライブラリからのものであり、そのクラスにはデフォルトのコンストラクターがなく、明らかにコードを上書きできません。

だから私の質問は、これについて何かできることはありますか、それとも運が悪いだけですか?

ありがとう。

4

2 に答える 2

29

Creator 機能と組み合わせて、 Jackson の Mix-Ins 機能を利用できます。Mix-Ins 機能は、元のサードパーティ コードに注釈を付ける必要性を軽減し、Creator 機能はカスタム インスタンス作成のメカニズムを提供します。

さらにカスタマイズするには、カスタム デシリアライザーを作成する必要はありません。

于 2012-08-07T02:30:42.220 に答える