JsonTreeReader

描述

将 JSON 解析为单个记录对象。虽然读取器期望每条记录都是格式良好的 JSON,但 FlowFile 的内容可能由许多记录组成,每条记录可以是格式良好的 JSON 数组或 JSON 对象,记录之间允许有空格,例如常见的“每行一个 JSON”格式。如果遇到数组,则该数组中的每个元素将被视为单独的记录。如果配置的架构包含 JSON 中不存在的字段,则将使用空值。如果 JSON 包含架构中不存在的字段,则将跳过该字段。有关更多信息和示例,请参阅控制器服务的用法。

标签

json、parser、reader、record、tree

属性

下表列出了各项属性,其中带星号 (*) 的为必需属性。其他属性视为可选属性。该表还指出了所有默认值以及属性是否支持 NiFi 表达式语言。

显示名称

API 名称

默认值

允许值

描述

允许评论 *

允许评论

false

  • true

  • false

解析 JSON 文档时是否允许评论

日期格式

日期格式

指定读取/写入“Date”字段时使用的格式。如果未指定,则将假定“Date”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔,如 01/01/2017)。

最大字符串长度 *

最大字符串长度

20 MB

解析 JSON 文档时字符串值的最大允许长度

时间格式

时间格式

指定读取/写入“Time”字段时使用的格式。如果未指定,则将假定“Time”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,HH:mm:ss 表示 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 18:04:15)。

时间戳格式

时间戳格式

指定读取/写入“Timestamp”字段时使用的格式。如果未指定,则将假定“Timestamp”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy HH:mm:ss 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔;然后依次是 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 01/01/2017 18:04:15)。

架构访问策略 *

schema-access-strategy

infer-schema

  • 推断架构

  • 使用“架构名称”属性

  • 使用“架构文本”属性

  • 架构参考读取器

指定如何获取用于解读数据的架构。

架构应用策略 *

schema-application-strategy

SELECTED_PART

  • 整个 JSON

  • 所选部分

指定架构适用于整个 JSON 还是适用于从“起始字段名称”开始的选定部分。

架构分支

schema-branch

指定在“架构注册表”属性中查找架构时使用的分支名称。如果所选架构注册表不支持分支,则该值将被忽略。

架构推理缓存

schema-inference-cache

指定推断架构时使用的架构缓存。如果未填充,则每次都会对架构进行推断。但是,如果指定了缓存,则将首先查询缓存,如果可以找到适用的架构,则将使用它而不是对架构进行推断。

架构名称

schema-name

${schema.name}

指定要在架构注册表属性中查找的架构的名称。

架构参考读取器 *

schema-reference-reader

服务实现,负责读取 FlowFile 属性或内容以确定架构参考标识符

架构注册表

schema-registry

指定用于架构注册表的控制器服务

架构文本

schema-text

${avro.schema}

Avro 格式架构的文本

架构版本

schema-version

指定要在架构注册表中查找的架构版本。如果未指定,则将检索架构的最新版本。

起始字段名称

starting-field-name

向前跳到给定的嵌套 JSON 字段(数组或对象)以开始处理。

起始字段策略 *

starting-field-strategy

ROOT_NODE

  • 根节点

  • 嵌套字段

从根节点或指定的嵌套节点开始处理。

状态管理

此组件不存储状态。

受限

此组件不受限制。

系统资源注意事项

此组件未指定系统资源注意事项。

语言: 中文