Перейти к основному содержимому

JsonTreeReader

Описание

Анализирует JSON в отдельные объекты Record. Хотя ридер ожидает, что каждая запись будет корректно сформированным JSON, содержимое FlowFile может состоять из многих записей, каждая из которых является корректно сформированным массивом JSON или объектом JSON с необязательными пробелами между ними, например, в формате 'JSON-per-line'. Если встречается массив, каждый элемент этого массива будет рассматриваться как отдельная запись. Если в настроенной схеме содержится поле, отсутствующее в JSON, будет использовано значение null. Если JSON содержит поле, отсутствующее в схеме, это поле будет пропущено. См. использование службы контроллера для получения дополнительной информации и примеров.

Теги

json, tree, record, reader, parser

Свойства

НазваниеОписание
Schema Access StrategyУказывает, как получить схему, которая будет использоваться для интерпретации данных.
Schema RegistryУказывает службу контроллера, которую следует использовать для реестра схемThis Property is only considered if the [Schema Access Strategy] Property is set to one of the following values: [Schema Reference Reader], [Use 'Schema Name' Property]
Schema NameУказывает имя схемы для поиска в свойстве реестра схем Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema VersionУказывает версию схемы для поиска в реестре схем. Если не указано, будет получена последняя версия схемы. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema BranchУказывает имя ветки, которую нужно использовать при поиске схемы в реестре схем. Если выбранный реестр схем не поддерживает ветки, это значение будет проигнорировано. Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Name' Property".
Schema TextТекст схемы в формате Avro Поддерживает язык выражений: true (будет оцениваться с использованием атрибутов файла потока и переменных среды)This Property is only considered if the [Schema Access Strategy] Property has a value of "Use 'Schema Text' Property".
Schema Reference ReaderРеализация сервиса, отвечающая за чтение атрибутов или содержимого FlowFile для определения идентификатора ссылки на схемуThis Property is only considered if the [Schema Access Strategy] Property has a value of "Schema Reference Reader".
Schema Inference CacheSpecifies a Schema Cache to use when inferring the schema. If not populated, the schema will be inferred each time. However, if a cache is specified, the cache will first be consulted and if the applicable schema can be found, it will be used instead of inferring the schema.This Property is only considered if the [Schema Access Strategy] Property has a value of "Infer Schema".
Starting Field StrategyНачать обработку с корневого узла или с указанного вложенного узла.
Starting Field NameПозволяет перейти к заданному вложенному JSON-полю (массиву или объекту), чтобы начать обработку.This Property is only considered if the [Starting Field Strategy] Property has a value of "Nested Field".
Schema Application StrategySpecifies whether the schema is defined for the whole JSON or for the selected part starting from "Starting Field Name".This Property is only considered if all of the following conditions are met:The [Starting Field Strategy] Property has a value of "Nested Field".The [Schema Access Strategy] Property is set to one of the following values: [Schema Reference Reader], [Use 'Schema Name' Property], [Use 'Schema Text' Property]
Max String LengthМаксимально допустимая длина строкового значения при синтаксическом анализе документа JSON.
Allow CommentsРазрешать ли комментарии при синтаксическом анализе документа JSON.
Date FormatУказывает формат, который следует использовать при чтении/записи полей даты. Если не указано, поля даты будут считаться количеством миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, значение должно соответствовать простому формату даты Java (например, MM/dd/yyyy для двухзначного месяца, за которым следует двухзначный день, за которым следует четырёхзначный год, разделённые символами «/», как в 01/01/2017).
Time FormatУказывает формат, используемый при чтении/записи полей времени. Если не указано, то поля Time будут содержать количество миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, то значение должно соответствовать формату Simple Date в Java (например, HH:mm:ss для двухзначного часа в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, разделенные символами ':', как в 18:04:15).
Timestamp FormatУказывает формат, используемый при чтении/записи полей Timestamp. Если не указано, поля Timestamp будут считаться количеством миллисекунд с начала эпохи (полночь 1 января 1970 года по Гринвичу). Если указано, значение должно соответствовать формату Java Simple Date (например, MM/dd/yyyy HH:mm:ss для двухзначного месяца, за которым следует двухзначный день, за которым следует четырехзначный год, разделенные символами «/»; затем следует двухзначный час в 24-часовом формате, за которым следует двухзначная минута, за которой следует двухзначная секунда, разделенные символами «:», как в 01/01/2017 18:04:15).