0
私はJacksonに特定の機能を追加しようとしています。Jackson - BeanDeserializerBase
ジャクソンが必要なタイプを要求せずにオブジェクトを逆シリアル化できるようにします。私は、クラスを直列化し、デシリアライズ時に使用されるクラス名を保持する "@class"プロパティを追加できるようにしたいと考えています。
カスタムを作成する際に問題なくクラスプロパティを追加できましたが、BeanDeserializerBase
を構築して機能させる方法が見つかりません。 "@class"フィールドを抽出して出力クラスを決定するデフォルトのデシリアライザに渡す必要があるJsonParser
から削除する関数は見つかりません。
@Override
public Object deserialize(JsonParser p, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
while(!p.isClosed())
{
JsonToken t = p.nextToken();
if(t.name() == "@class")
{
String cls = t.asString();
try
{
Class<?> clazz = Class.forName(cls);
// remove @class field & default deserialize.
}
catch (ClassNotFoundException e)
{
}
}
}
}
誰でも助けてくれますか?私は本当に立ち往生しているように!ありがとうございました。