亿信ABI
当前版本:5.6.1

JSON生成组件

1.概述

Json生成组件故名思意就是讲已有的数据字段信息生成一个json串存储在临时表中,供后续组件或者系统的使用。

目前json生成组件支持配置生成的json格式位数组、对象两种类型。

json生成组件中支持对json串中的节点属性、属性值进行各种自定义配置。目前节点类型支持5种配置,分别是常量、字段、原始字段、数组、对象。

常量:该节点的值为固定值,手动输入。

字段:该节点的值来源与前置组件的字段,并默认当作字符串处理,在生成的json串种会自动给该节点的值加上“”。

原始字段:与字段相同,节点值来源与前置组件字段,与字段的区别为,该节点值不会做任何处理,前置组件中字段值是什么,在生成的json串中就是同样的值,不会做任何处理。

数组:节点类型为数组,代表该节点的格式为数组格式,没有属性值,可以在该节点下添加子节点。

对象:节点类型为对象,代表该节点的格式为对象格式,没有属性值,可以在该节点下添加子节点。

Json生成组件不仅仅可以手动配置生成的json 中各节点的属性信息、取值信息,也可以根据客户或第三方提供的json示例,在组件中自动生成对应的格式模板。

2.使用场景

①.生成对象

Json生成组件多用于通过接口做数据分发时,数据需要以json的形式作为接口的请求体,分发给下游系统,下面我们以主数据分发为例。

新建一个ETL任务,拖入表输入组件、json生成组件、http接口组件。表输入组件选择要分发给下游系统的视图表,json生成组件需要根据下游系统接口请求体格式进行配置。此处我们以

{

"request" : {

"masterId" : "{masterId}",

"dataoperate" : "{dataoperate}",

"isworkflow" : "{isworkflow}",

"data" :

{

"EXAMPLE_XXB" : [{

"ID_" : "xxx",

"NAME_" : "xxx"

}]

}

}

} 格式为例,其中masterId、dataoperate、isworkflow均为常量ID_、NAME_的值均为动态的值,来源与前置组件,所以这两个节点类型选择为字段,并设置取值来源与前置组件字段。具体配置如图:

这样源表中的每一条数据都会生成一串格式一致的json供后续组件的调用。最后在http接口组件中引用生成的json串并且以请求体的形式通过接口推送给下游系统。每一条数据都会对接口进行一次请求。

②.生成数组

生成数组型的json 多用于源端有多条数据,在通过接口进行数据推送的过程中只通过一个json,一次接口调用做数据的推送,相比较于对象的差异在于,对象类型的json 在实际应用过程中会将每一条来源数据都生成一条json.数组类型的json 会将多条数据放在一个json串中。

下面通过一下任务为例介绍两者区别。

在ETL任务中拖入表输入、json生成组件、表输出组件。其中表输入中的源表有10条数据,Json生成组件配置如下。


,有两个节点,且节点类型均为字段类型,取值来源于表输入组件的字段。当json生成组件配置生成的json串为对象类型时,生成到目标表中的数据就会有10条json。

当json生成组件配置生成json类型为数组类型时,仅会生成一条json,源表中的10条数据会以数组的形式存储在json串中,如图所示。


附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇HTTP接口组件&WebService接口

下一篇ORACLE装卸载组件

请先登录