在每条 JSON 条记录后添加一个键值

Add a key value after each JSON record

我有下面的 JSON 代码,需要将 Key/Value 添加到每个记录的末尾,如示例所示。我正在使用 JOLT 转换处理器进行 JSON 转换。

输入:

[
  {
    "id": "id",
    "emp_name": "emp_name",
    "emp_dept": "emp_dept",
    "email": "email"
  },
  {
    "id": "1",
    "emp_name": "Jemimah",
    "emp_dept": "MacAiline",
    "email": "jmacailine0@huffingtonpost.com"
  },
  {
    "id": "2",
    "emp_name": "Dorene",
    "emp_dept": "Elden",
    "email": "delden1@live.com"
  },
  {
    "id": "3",
    "emp_name": "Gustave",
    "emp_dept": "Perott",
    "email": "gperott2@wufoo.com"
  }
]

预期输出:

[
  {
    "id": "id",
    "emp_name": "emp_name",
    "emp_dept": "emp_dept",
    "email": "email",
    "status": "status"
  },
  {
    "id": "1",
    "emp_name": "Jemimah",
    "emp_dept": "MacAiline",
    "email": "jmacailine0@huffingtonpost.com",
    "status": "NEW"
  },
  {
    "id": "2",
    "emp_name": "Dorene",
    "emp_dept": "Elden",
    "email": "delden1@live.com",
    "status": "NEW"
  },
  {
    "id": "3",
    "emp_name": "Gustave",
    "emp_dept": "Perott",
    "email": "gperott2@wufoo.com",
    "status": "NEW"
  }
]

非常感谢您的帮助。提前致谢。

我想这对你有帮助,

Nifi - How to add key:value to json

一个选项是使用 shift 转换,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@(0,id)": "[&].id",
        "*": "[&1].&",
        "id": {
          "id": {
            "#status": "[&3].status"
          },
          "*": {
            "#NEW": "[&3].status"
          }
        }
      }
    }
  }
]

如果您只需要添加唯一的默认键值对 "status": "NEW",然后设法获得所需的通过使用 modify-overwrite-beta 转换,例如

,规范会更简单
[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "status": "NEW"
      }
    }
  }
]

您可以简单地在您的规范中使用 modify-overwrite-beta,如下所示

 [
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "status": "NEW"
      }
    }
  }
]