当前位置: 首页 > 知识库问答 >
问题:

使用 Jolt 转换对 JSON 元素进行分组

许焕
2023-03-14

我需要在颠簸转换规范方面的帮助。以下是我到目前为止的工作。

输入:

[
  {
    "ID": "1234",
    "Date": "2020-12-10",
    "Time": "06:00:00",
    "Rate": null,
    "Interest": null,
    "Term": 99
  },
  {
    "ID": "1234",
    "Date": "2020-12-11",
    "Time": "07:00:00",
    "Rate": 8,
    "Interest": null,
    "Term": 99
  }
]

使用的震动代码:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "ID": "@(1,ID).id",
        "Date": "@(1,ID).date",
        "Time": "@(1,ID).group.time",
        "Rate": "@(1,ID).group.rate",
        "Interest": "@(1,ID).group.interest",
        "Term": "@(1,ID).group.term"
      }
    }
  },
  {
    "operation": "cardinality",
    "spec": {
      "*": {
        "id": "ONE"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": ""
    }
  }
]

电流输出:

[
  {
    "id": "1234",
    "date": ["2020-12-10", "2020-12-11"],
    "group": {
        "time": ["06:00:00", "07:00:00"],
        "rate": 8,
        "interest": null,
        "term": [99, 99]
    }
 }
]

预期产出

[
  {
    "id": "1234",
    "date": "2020-12-10",
    "group": {
      "time": "06:00:00",
      "rate": null,
      "interest": null,
      "term": 99
    }
  },
  {
    "id": "1234",
    "date": "2020-12-11",
    "group": {
      "time": "07:00:00",
      "rate": 8,
      "interest": null,
      "term": 99
    }
  }
]

当只使用单个json对象时,此代码工作正常。但是当我们使用具有相同id的多个项目时,它会开始对所有相关字段进行分组。

共有1个答案

盖翰池
2023-03-14

您可以使用方括号表示法([

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "ID": "[&1].&",
        "Date": "[&1].&",
        "*": "[&1].group.&"
      }
    }
  }
]

 类似资料:
  • 我正在尝试使用JOLT(使用NiFi JoltTransformJson处理器)将JSON转换为不同的格式。对于单个JSON记录,正在使用的JOLT在JOLT应用程序演示中运行良好,而如果我使用多个JSON记录执行,那么我在JOLT应用程序演示中没有得到预期的输出。有人能告诉我在JOLT规范中需要做哪些额外的更改来处理多个JSON记录吗? 示例输入json JOLT使用: 预期输出JSON:

  • 我正在尝试使用Jolt进行从顶级json数组到另一个数组的复杂转换。在每个项目中,我都有几个需要映射到另一个的对象。当它是简单的字符串时,我可以很容易地映射它们,但当它是关于对象到对象的时,我无法找到如何进行映射。在下面的示例中,我想从客户对象中提取数据。我想为其他几个人做这件事,比如地址和order_items这是我的输入: 这是规格文件 目前,我的输出是 我希望这样: 有人知道怎么做吗? 更新

  • 请帮忙。 谢谢,哈里

  • 我想转换这个JSON: 对此JSON: 我目前正在使用该规范,但它不适合我: 有人能给出一个规范吗?有没有关于jolt JSON的明确文档 ................................................................................................................................

  • `我有以下输入json格式,需要转换以下json文件。我正在使用jolt转换,但无法使用https://jolt-demo.appspot.com/#inception网站正确格式化输出 `需要以下使用JOLT Iam的输出json格式,尝试使用JOLT转换进行转换

  • 我有一个嵌套的JSON对象,如下所示: 我想将其转换为: 我如何使用JOLT实现这一点?感谢您的参与。