【问题标题】:Transform JSON file to add keys to array values转换 JSON 文件以将键添加到数组值
【发布时间】:2019-08-28 16:59:09
【问题描述】:

我正在使用 Apache NiFi,并通过 TCP/IP 套接字从嵌入式微控制器接收以下格式的 JSON 文件:

{ “身份证”:123456, "ip": "192.168.1.1", “t”:-12.9, “T”:-23.8, “变量”:[ “用户1”, 0, -12.97, 23.87 ] }

并希望对其进行转换,以便添加我所知道的变量键,如下所示:

{ “身份证”:123456, "ip": "192.168.1.1", “t”:-12.9, “T”:-23.8, “变量”:[ “用户名”:“用户 1”, “有效”:0, “温度 1”:-12.97, “温度 2”:23.87 ] }

然后能够访问键值对,例如 variables.username。

我尝试过使用 JoltTransformJSON,但不知道如何正确编写规范,如果可以的话!我写了以下颠簸规范:

[ { “操作”:“班次”, “规格”:{ “身份证”:“身份证”, “IP”:“IP”, “t”:“t”, “T”:“T”, “变量”:{ “用户名”: ””, “有效的”: ””, “温度 1”:“”, “温度 2”:“” } } } ]

我也尝试过将 UpdateRecord 与 Record Reader/Writer 一起使用,但传递正确的架构会导致第一个变量出现错误,因为它无法将“user1”与初始 JSON 中的键匹配。

【问题讨论】:

  • 检查 JoltTransformJson 处理器
  • 已尝试使用 JoltTransformJson 处理器,但无法使其正常工作。甚至尝试使用jolt-demo.appspot.com。我也尝试过将 UpdateRecord 与 Record Reader/Writer 一起使用,但传递正确的模式会导致第一个变量出现错误
  • 请编辑您的问题并提供您的颠簸转换,然后也许有人会帮助您。还添加一个jolt标签/

标签: json apache-nifi jolt


【解决方案1】:

我已经设法制定出 Jolt Spec 如下:

[ { “操作”:“班次”, “规格”:{ “身份证”:“身份证”, “IP”:“IP”, “t”:“t”, “T”:“T”, “变量”:{ "0": "用户名", “1”:“有效”, "2": "温度 1", “3”:“温度 2” } } } ]

感谢 daggett 的贡献。

【讨论】:

    猜你喜欢
    • 2017-10-17
    • 2013-05-03
    • 2021-11-21
    • 2020-04-26
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多