インターフェース 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
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 T
deserialize(JsonParser parser, DeserializationContext ctx, TypeSE rtType)
JSON ストリームをオブジェクトに逆直列化します。
メソッドの詳細
deserialize
T deserialize(JsonParser parser, DeserializationContext ctx, TypeSE rtType)
JSON ストリームをオブジェクトに逆直列化します。- パラメーター:
parser
- Json パーサー。ctx
- デシリアライズコンテキスト。rtType
- 返されたオブジェクトの型。- 戻り値:
- 逆直列化されたインスタンス。