You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pentaho中忽略JSON的null节点以获取完整数据?

解决Pentaho Json Input读取含null地址的报错问题

方法1:使用根路径+相对字段路径(推荐)

  1. 打开Json Input组件的Fields标签页
  2. 在顶部的Root path输入框中填写:$.users[*],这表示先遍历users数组的每一项
  3. 逐个添加字段,使用相对路径:
    • 字段名name,路径填$.name
    • 字段名province,路径填$.address.province
    • 字段名district,路径填$.address.district
    • 字段名ward,路径填$.address.ward
    • 字段名raw_address,路径填$.address.raw_address
  4. 确保Content标签页的ignore missing path选项已勾选
  5. 运行转换,此时address为null的条目对应的省份、区县等字段会填充为null,不会报错

方法2:使用JsonPath默认值语法

如果不想修改根路径,可在每个address子字段的路径中添加默认值,强制返回null以保证结果数量一致:

  • 省份路径改为:$.users[*].address.province ?: null
  • 区县路径改为:$.users[*].address.district ?: null
  • 以此类推,所有address子字段都加上 ?: null后缀
  • 同样确保ignore missing path已勾选,这样路径不存在时会返回null,匹配name字段的3条结果数

方法3:拆分解析流程

如果上述方法仍不生效,可拆分两步处理:

  1. 先用Json Input读取整个users数组的每个元素为字符串字段,路径填$.users[*],字段名设为user_json
  2. 添加Json Input组件,将user_json作为输入源(选择Source is from a field)
  3. 在第二个Json Input中解析每个user_json的name和address字段,此时单条对象解析不会出现数量不匹配的问题

内容的提问来源于stack exchange,提问作者Trần Hưng Vượng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:35:02