Поддержка ведущих нулей в Avro json - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть требование, где мне нужно проанализировать json, в котором поле даты определено как long в схеме Avro. Я знаю, что в обычных JSON начальные нули не поддерживаются. Но Jackson JSON parser предоставляет возможность настроить поддержку ведущих нулей. В моем коде я использую Avro JsonDecoder , который внутренне использует Jackson JsonFactory. Поэтому я хотел бы знать, есть ли способ настроить Avro JsonDecoder для установки свойства ALLOW_NUMERIC_LEADING_ZEROS.

Пример Json Данные:

{ "date": 021019}

Часть схемы Avro для поля даты

{
    "name": "date",
    "size": 8,
    "type": ["null", "long"],
    "logicalType": "date",
    "doc": "1"
}

Код, используемый для преобразования JSON в запись Avro generi c

JsonDecoder jsonDecoder = DecoderFactory.get().jsonDecoder(schema, jsonMessage);
DatumReader<GenericRecord> datumReader = new GenericDatumReader<GenericRecord>(schema);
GenericRecord avroRecord = datumReader.read(null, jsonDecoder);
...