package jsonpayload
- Alphabetic
- Public
- All
Type Members
-
trait
ConfluentJsonPayloadDeserializer extends AnyRef
ConfluentJsonPayloadDeserializer converts json payload to avro.
ConfluentJsonPayloadDeserializer converts json payload to avro. Used with schemas WITHOUT logical types due to avro conversion limitations.
It uses avro schema which has impact on json format requirements: 1. Avro schema is used to deserialize json payload to GenericRecord or SpecificRecord. Values should be encoded with avro conversions (see example below). 2. Allegro json2avro decoder is used instead of confluent decoder. Decoded json should have flattened object structure (see example below).
TODO: Add support to json payloads specified in json schema
Example object with logical types (serialized with BestJsonEffortEncoder, see [GeneratedAvroClassWithLogicalTypes]): { "text" : "lorem ipsum", "dateTime" : "2020-01-02T03:14:15Z", "date" : "2020-01-02", "time" : "03:14:15" }
Example of json readable by confluent decoder (see [ConfluentAvroMessageFormatter]): { "text" : "lorem ipsum", "dateTime" : { "long" : 1577934855000 }, "date" : { "int" : 18263 }, "time" : { "int" : 11655000 } }
The same example to be used with allegro json2avro decoder: { "text" : "lorem ipsum", "dateTime" : 1577934855000, "date" : 18263, "time" : 11655000 }
- class ConfluentJsonPayloadSerializerFactory extends KafkaSchemaBasedValueSerializationSchemaFactory
- class ConfluentKeyValueKafkaJsonDeserializerFactory extends KafkaSchemaBasedKeyValueDeserializationSchemaFactory with ConfluentJsonPayloadDeserializer
- class JsonPayloadKafkaSerializer extends ConfluentKafkaAvroSerializer
- class JsonPayloadToAvroConverter extends AnyRef
Value Members
- object JsonPayloadToAvroConverter