json - 需要帮助找出如何修复颠簸规范

标签 json jolt

我正在尝试使用 Jolt 编写规范,我一直在努力解决这个问题,我想要的输出是:

{
  "Team": [
    {
      "ID": "1",
      "Source": {
        "HV": 1,
        "ID": 1
      }
    },
    {
      "ID": "3",
      "Source": {
        "HV": 2,
        "ID": 3
      }
    }
  ]
}

我有以下输入:


[
  {
    "Page": 910407,
    "TimingID": 10014,
    "ScoreInfo": {
      "Inn": 9,
      "TB": 1,
      "Team": [
        {
          "HV": 1,
          "ID": 1,
          "Score": 4
        },
        {
          "HV": 2,
          "ID": 3,
          "Score": 2
        }
      ],
      "HV": null
    }
  }
]

但执行此规范后:

[
  {
    "operation": "shift",
    "spec": {
      "0": {
        "ScoreInfo": {
          "Team": {
            "*": "&"
          }
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="edb9888c80c3ada4a9c3be82989f8e88" rel="noreferrer noopener nofollow">[email protected]</a>"
    }
  }
]

我最终得到了这个结果:

{
  "Team" : {
    "1" : {
      "Source" : {
        "HV" : 1,
        "ID" : 1,
        "Score" : 4
      }
    },
    "3" : {
      "Source" : {
        "HV" : 2,
        "ID" : 3,
        "Score" : 2
      }
    }
  }
}

我会帮助弄清楚如何解决,我一直在阅读和练习,但在某些情况下仍然有一些疑问,当输出开始变得更先进时,它需要使用 Jolt 多一点里程。

谢谢

最佳答案

应用一级shift转换就足够了,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "ScoreInfo": {
          "Team": {
            "*": {
              "HV": "&2.[&1].Source.&",
              "ID": "&2.[&1].Source.&",
              "@(0,ID)": "&2.[&1].ID"
            }
          }
        }
      }
    }
  }
]

其中 &2 代表最外层的键名(Team),[&1] 用于删除内部数组而不是get 对象,& 叶子(最里面的 & 符号)代表获取当前级别键的值,例如 HV&ID

关于json - 需要帮助找出如何修复颠簸规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68942230/

相关文章:

javascript - 仅使用 javascript 获取 JSON 并评估数据

apache-nifi - NiFi 中的 JoltTransformJSON 处理器(没有任何父标签的 json)

php - 遍历 mysql 结果并在解析为 json 之前将函数应用于每一行

使用多个关键字的 Jquery Grep 和 Map Json

c# - asp.net webservices - 如何返回与 "d"相同级别的参数

json - 将 JSON 中的整数转换为字符串,Nifi

从 String 值到 Long 的 Jolt JSON 转换

python - 如何在 python 中解析 json 字符串而不修改它?

json - 颠簸变换后json对象的排序

java - 震动 : Need to split array and combine with other details