【问题标题】:NIFI XML to JSON Null valuesNIFI XML 到 JSON 空值
【发布时间】:2020-11-23 20:03:16
【问题描述】:

我正在尝试运行一个非常简单的转换流程,该流程采用输入 XML 文档并使用 Avro 架构将其转换为 json。

我一定是做错了什么,因为即使是这样简单的事情,我也总是得到空值:

<key1>value1</key1>

输出是:

[{"key1":null}]

我在这里逐行遵循本教程:https://pierrevillard.com/2018/06/28/nifi-1-7-xml-reader-writer-and-forkrecord-processor/

我的 AVRO 架构定义为:

{
  "type" : "record",
  "name" : "MyClass",
  "namespace" : "com.test.avro",
  "fields" : [ {
    "name" : "key1",
    "type" : "string"
  } ]
}

我错过了什么?我能看到的唯一区别是我的 xml 的结构与示例略有不同。在示例中,XML 似乎具有以下结构:

<key1 value="value1"/>

但即使尝试将我的输入更改为该值也会导致相同的空值。

我看到有关此问题的其他帖子,但没有真正的解决方案。即使是那些关于不正确的 XML 结构的线程上的一些 cmets,我已经更改为它,但它仍然无法正常工作。我相信这很简单,任何帮助将不胜感激。

我对 NIFI 很陌生,但真的很喜欢这个工具的潜力!

【问题讨论】:

    标签: json xml apache-nifi


    【解决方案1】:

    事实证明,NIFI 组件 ConvertRecord 期望 XML 数据不在根级别,而是定义为从 XML 文档的第二级开始。

    所以我定义的 AVRO 模式是正确的,我只需要将输入的 XML 数据包装在根标记中,如下所示:

    <root><key1>value1</key1></root>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 2018-05-21
      • 2021-12-02
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多