【问题标题】:JOLT transform JSON merge array, but values from another fieldsJOLT 转换 JSON 合并数组,但来自其他字段的值
【发布时间】:2021-09-10 21:22:25
【问题描述】:

我需要从 primary_keys 数组中提取值并将它们连接到一个字符串中。但我在提取值时遇到了麻烦。

简化的输入json:

{
  "primary_keys": [
    "ITEM",
    "LOC",
    "COMP_ID"
  ],
  "ITEM": "ID158",
  "LOC": 41,
  "COMP_ID": "BPF",
  "VALUE": 0.78
}

预期输出:

{
  "PK": "ID158|41|BPF",
  "ITEM": "ID158",
  "LOC": 41,
  "COMP_ID": "BPF",
  "VALUE": 0.78
}

primary_keys 数组的内容可能因流文件而异。我很感激任何意见。谢谢!

【问题讨论】:

    标签: json apache-nifi jolt


    【解决方案1】:

    您可以使用 modify-overwrite-beta 转换和 join 函数在派生一个数组 (PK) 由 @ 的每个成员的各自值组成987654324@ 数组通过使用 shift 转换,例如

    [
      {
        "operation": "shift",
        "spec": {
          "*": "&",
          "primary_keys": {
            "*": {
              "*": { "$": "PK.@(4,&)" }
            }
          }
        }
      },
      {
        "operation": "shift",
        "spec": {
          "*": "&",
          "PK": {
            "*": {
              "$": "&2"
            }
          }
        }
      },
      {
        "operation": "modify-overwrite-beta",
        "spec": {
          "PK": "=join('|',@(1,&))"
        }
      }
    ]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 2017-04-19
      • 2021-09-13
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多