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

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

邢项禹
2023-03-14

我有下面的JSON代码,有必要在每个记录的末尾添加键/值,如示例所示。我使用JOLT Transform处理器进行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"
  }
]

非常感谢你的帮助。提前感谢。

共有3个答案

刁浩言
2023-03-14

您可以简单地在规范中使用修改覆盖测试版,如下所示

 [
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "status": "NEW"
      }
    }
  }
]
韦正业
2023-03-14

一种选择是使用移位转换,例如

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

如果您只需要添加唯一的默认键值对“状态”:“NEW”,那么通过使用修改-覆盖-beta 转换(例如

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": {
        "status": "NEW"
      }
    }
  }
]
冯阳云
2023-03-14

我想这会对你有所帮助,

Nifi-如何将key:value添加到json

 类似资料:
  • 输入JSON 输出JSON 我需要在每个json记录{“索引”:{“_index”:“test”,“_type”:“doc”,“_id”:“20200128121343561”}}之前添加这个索引记录,并且_id值是从时间戳派生的。我们还可以使用jolt转换在每个json记录后添加新行吗

  • 我有一个遵循特定模式的整数列表,它很复杂,但例如: 我想用9个副本来扩展列表,但添加一个常量值,每次线性扩展。例如,如果 那么第二个扩展将导致: 所以我想我需要一个循环,循环通过并通过

  • 问题内容: 这个问题已经在这里有了答案 : 8年前关闭。 可能重复: SQL Server:只有GROUP BY中的最后一个条目 我有一个这样的表: 我使用以下查询: 以上查询的结果: 在结果组上方按名称排列行,但显示每个组的第一行。我想从每个组中选择最后一行(按ID)。 例如: 如何编写以上结果的查询。 谢谢 问题答案: 甚至可能不再需要该组。

  • 我的Tomcat 8.5标准配置将日志分成 卡塔琳娜, 经理, 本地主机, 主持人经理 我的任务是添加到每个文件唯一的标签:CatalinaTag,mngTag,localTag,host MngTag 我试图在互联网上找到解决方案,但没有成功。 我的logging.properties预言是这样的: 下面是*ConsoleHandler的示例 这里是一个*格式化程序的例子 但到目前为止,我还不能

  • 问题内容: 我有一个带有1000个json对象的json文件。有什么办法可以在每个json文档之前添加标题行?有没有最简单的方法? 示例:我有1000个这样的对象 我想为每个json对象添加如下所示的索引标头,以便可以在Elasticsearch Bulk api中使用 问题答案: 如果您愿意利用Logstash,则无需修改文件,而可以简单地逐行读取文件,并使用利用Bulk API 的输出将其流式

  • 问题内容: 有一个包含数据的表,如下所示: 如果我运行查询,我将得到的结果为: 什么查询将返回以下结果? 即,应返回每个组中的最后一条记录。 目前,这是我使用的查询: 但这看起来效率很低。还有其他方法可以达到相同的结果吗? 问题答案: MySQL 8.0现在支持窗口功能,就像几乎所有流行的SQL实现一样。使用这种标准语法,我们可以编写每组最多n个查询: 以下是我在2009年为此问题写的原始答案: