Skip to main content

SplitJson

概述

通过Json路径表达式将一个JSON数组内容文件分割成多个单独的流文件,每个生成的流文件由数组中的一个元素组成,并传送到'split'连线,原始的流文件则被传送到'original'连线。如果没有找到指定的json路径,或者不是解析数组格式的json内容时,则原始流文件会被传送到'failure'连线,且不会生成任何流文件。

属性说明

JsonPath表达式

设置JsonPath, 来控制Json数据的分割。

可参考学习下JsonPath表达式的使用:https://docs.oracle.com/cd/E60058_01/PDF/8.0.8.x/8.0.8.0.0/PMF_HTML/JsonPath_Expressions.htm

示例

demo

假设我们上级流文件内容,如下:

[{"name":"张一","age":10},{"name":"张二","age":20},{"name":"张三","age":30}]

使用JsonPath表达式设置规则,这里设置JsonPath表达式值为$, 表示取每一个Json对象。

properties

则可以看到分割结果成3个流文件,如下:

split_show

每个流文件内容,都是1个Json对象。这里取了其中1个,如下:

content

每个流文件都新增3个属性:

  • fragment.identifier 同一批分割数据的唯一标识
  • fragment.count 同批数据的数据量
  • fragment.index 同批数据的编号,从1到fragment.count值

attribute

流程模板

参见附件(请右键另存保存):SplitJson示例