【问题标题】:How to convert XML to JSON with new JSON structure in Nifi?如何在 Nifi 中使用新的 JSON 结构将 XML 转换为 JSON?
【发布时间】:2019-02-23 14:32:41
【问题描述】:

我从网络服务中得到不同的XMLs。我想将此XML 转换为JSON,但必须更改结构。

比如我有XML这样的结构;

<root>
    <A attr="attr1">VAL</A>
    <B attr="attr2">VAL</B>
</root>

以及我想要的JSON 的结果。

{
   "root":{
      "Items":[
         {
            "tag_name":"A",
            "attr":"attr1",
            "value":"VAL"
         },
         {
            "tag_name":"B",
            "attr":"attr2",
            "value":"VAL"
         }
      ]
   }
}

如何在Nifi 中执行此操作? ConvertRecord 还是 UpdateRecord?另外,如果可以使用基于记录的处理器,应该如何读取和写入模式?

【问题讨论】:

  • 我猜只有 scipt
  • 我可以通过 XSLT 使用 TransformXML,但速度很慢。还有其他选择吗?如 JoltTransformRecord、UpdateRecord、ConvertRecord 等。
  • 您使用任何库吗? Nifi 你的意思是Apache Nifi?例如,你可以使用Jackson lib 吗?
  • 是的,Apache Nifi。其实我很想知道这个操作在Nifi中可以不用任何脚本就可以完成。

标签: json xml apache-nifi


【解决方案1】:

您可以使用纯 NiFi 流程来完成,步骤如下:

  1. 将 XML 转换为 JSON,这可以通过 ValidateRecord 处理器完成,您必须定义 json 的架构,因此在此步骤中您将检查输入数据是否正常。
  2. 使用 JoltTransform 处理器修改 JSON 结构。

【讨论】:

  • 不明白你的意思,你说的是 json 文件,而不是流媒体。
猜你喜欢
  • 1970-01-01
  • 2015-02-05
  • 2023-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多