根据 XML 或 XSD 验证转换后的 JSON

问题描述

我有一个 XML 和 XSD 文件。我正在使用 Apache NiFi 将 XML 转换为 JSON。但是,它嵌套在多个级别,因此我想验证转换是否正常。我想在 Apache NiFi 中使用 XSD 验证相同的内容。 我将无法分享公司的敏感信息。 有我可以使用的处理器或脚本吗?可以选择在名为 ExecuteScript 的处理器中编写 Python 脚本。


提前致谢

解决方法

您的问题有两个部分。

  1. 能否通过 XSD 验证 JSON?
  2. nifi 是否具有通过 XSD 验证 JSON 的处理器?

第一部分已经在这里回答: Validate JSON against XML Schema (XSD)

现在对于第二部分,根据您最终采用的解决方案,两者都没有在 nifi 处理器中实现,并且尝试使用 ExecuteScript 对您不起作用,因为这些需要使用导入的非本机模块。相反,您需要使用 java 创建自己的自定义处理器并将其导入 nifi 以解决您的问题。这有点费力。

或者,您可以尝试将 XML 反向转换回一个属性,然后根据原始 XSD 验证该属性内容。这是我在编写单元测试时经常使用的一种方法。我没有亲自在 nifi 中尝试过这个,但听起来这是可能的,并且可能是最简单的解决方案。