インターフェース JsonbDeserializer<T>
- 型パラメーター:
T- デシリアライザーをバインドする型。
public interface JsonbDeserializer<T>特定の型のカスタムデシリアライザーを表すインターフェース。
JsonParserを使用して JSON ストリームから java オブジェクトを逆直列化するための低レベル API を提供します。ある java 型から別の型へのコンバーターとして機能するJsonbAdapterとは異なり、デシリアライザーは、デシリアライズプロセスをよりきめ細かく制御します。DeserializationContextは JSONB ランタイムとして機能し、提供された java オブジェクトを逆直列化できます。カスタムデシリアライザーのサンプル:
class Box { public BoxInner boxInnerObject; public String name; } BoxDeserializer implements JsonbDeserializer<Box> { public Box deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) { Box = new Box(); while (parser.hasNext()) { Event event = parser.next(); if (event == JsonParser.Event.KEY_NAME && parser.getString().equals("boxInnerObject") { // Deserialize inner object box.boxInnerObject = ctx.deserialize(BoxInner.class, jsonParser); } else if (event == JsonParser.Event.KEY_NAME && parser.getString().equals("name") { // Deserialize name property parser.next(); // move to VALUE box.name = parser.getString(); } } return box; } }デシリアライザーは、
JsonbConfig.withDeserializers(JsonbDeserializer[])メソッドを使用するか、型にJsonbTypeDeserializerアノテーションを使用して登録されます。- 導入:
- JSON バインディング 1.0
- 関連事項:
JsonbConfig,JsonbTypeDeserializer,JsonbSerializer,JsonbAdapter
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 Tdeserialize(JsonParser parser, DeserializationContext ctx, TypeSE rtType)JSON ストリームをオブジェクトに逆直列化します。
メソッドの詳細
deserialize
T deserialize(JsonParser parser, DeserializationContext ctx, TypeSE rtType)
JSON ストリームをオブジェクトに逆直列化します。- パラメーター:
parser- Json パーサー。ctx- デシリアライズコンテキスト。rtType- 返されたオブジェクトの型。- 戻り値:
- 逆直列化されたインスタンス。