Talend DI 7.2:如何配置tExtractJsonFields提取tJavaRow返回的对象列表数据
Talend DI 7.2 用tExtractJsonFields提取对象列表数据的配置步骤
1. 先在tJavaRow中将对象列表转为JSON数组字符串
- 假设你已生成
List<YourObject>类型的对象列表,先引入JSON序列化工具(Talend默认集成Gson,可直接使用)。 - 在tJavaRow的代码编辑区,将对象序列化为JSON数组字符串,输出到新字段(比如命名为
json_array_str):import com.google.gson.Gson; List<YourObject> objList = // 你的对象列表生成逻辑 String json_array_str = new Gson().toJson(objList); output_row.json_array_str = json_array_str; - 记得在tJavaRow的输出Schema里添加
json_array_str字段,类型设为String。
2. 连接组件并配置tExtractJsonFields基础参数
- 用主行流(Main)将tJavaRow和tExtractJsonFields连接。
- 双击打开tExtractJsonFields配置界面:
- JSON字段:选择tJavaRow输出的
json_array_str字段,作为解析的JSON源。 - JSON路径表达式:填写
$[*],该表达式会遍历JSON数组的每一个元素,自动将数组拆分为多行(每行对应一个对象)。 - 模式:选择
JSON Path模式。
- JSON字段:选择tJavaRow输出的
3. 配置字段映射规则
- 切换到Edit Schema(编辑模式),添加需要提取的字段,字段名、数据类型要和对象属性一一对应(比如对象有
id(整数)、name(字符串),就添加对应字段)。 - 回到Mapping(映射)标签页,给每个目标字段配置JSON路径:
- 例如
id对应$.id,name对应$.name(这里的$代表当前遍历到的数组元素对象);如果有嵌套属性,比如user.info.age,路径写$.user.info.age即可。
- 例如
4. 测试验证
- 运行作业,检查tExtractJsonFields的输出结果,确认每个对象的属性都被正确提取到对应字段中。
内容的提问来源于stack exchange,提问作者Mohamed Jmal
相关产品推荐
相关产品推荐

