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

数据帧输入的JOLT规范(NiFi JoltTransformJson)

卢志业
2023-03-14

你能帮我写以下的JOLT规范吗?

输入JSON:

{
  "a": "1",
  "b": "2",
  "c": "3",
  "d": "4"
}

我需要得到输出:

json prettyprint-override">{
  "columns": ["a","b","c","d"],
  "data": [[1,2,3,4]]
}

共有1个答案

向弘懿
2023-03-14

您可以使用下面的移位转换:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "columns",
        "@": "data[0]"
      }
    }
  }
]

如果数据数组的元素必须严格属于整数类型,那么也需要修改-覆盖-测试转换,例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=toInteger"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "columns",
        "@": "data[0]"
      }
    }
  }
]
 类似资料:
  • 我有以下输入json: 输出JSON应如下所示: 任何人都可以就如何为上述内容构建适当的 Bump 规范提供任何指导吗? 非常感谢您的帮助 ^_^

  • 我的输入JSON如下所示,但是我不确定如何使用JOLT进行内部数组相关的参数转换。感谢任何帮助,因为我是新的JOLT 以下是我创建的规范文件,但它并不完整 预期输出如下 我正在使用这个库https://github.com/bazaarvoice/jolt

  • 我正在努力使用 JOLT 转换复杂的 json。 输入JSON: 预期输出: 我无法理解如何在基于“字段名称”的输出中访问和分配“字段值”。请帮我做一下震动测试。 注意:输入JSON中的名称、标题和公司的顺序将是混乱和随机的,这意味着在“data”数组下,第一个对象仅与“Name”相关不是强制性的。

  • 我很难为不同的JSON输入编写一个jolt规范。我需要得到一个通用的jolt规范,以便得到一个扁平的json 输入1: 输入2: 需要JSON输出- 单个平展 JSON : 我尝试的Jolt规范适用于输入2,但不适用于输入1: 请帮助我很难为不同的 JSON 输入编写颠簸规范。我需要获得一个通用的颠簸规范,以便我得到一个扁平化的 json

  • 我很难为不同的JSON输入编写jolt规范。我需要一个通用的jolt规范,这样我就可以得到一个扁平的json。 输入 1 : 我们有一个材料运动数组 输入2:我们没有物质运动数组 我已经为输入1使用了joltspec,它工作正常,我需要它也为输入2工作

  • 我正在尝试用以下规格进行JOLT换班操作,这是不起作用的。不知道我犯了什么错误。在这种情况下需要帮助。输出JSON作为一个对象来代替Array,shift也不能按预期工作。