如何从JSON Schema评估JSON

时间:2016-12-15 21:41:03

标签: apache-nifi

我熟悉使用.XSD在Apache NIFI中使用处理器ValidateXML验证.XML文件。

如何将XML转换为JSON,然后使用JSON Schema验证输出的JSON,该JSON Schema将产生与验证XML文件的XSD相同的结果?

我是否可以使用其他工具与NIFI完成此任务?

2 个答案:

答案 0 :(得分:1)

对于转换部分,您可以使用this XSLT通过TransformXml处理器将XML转换为JSON。

ValidateJson处理器正在NIFI-1893下工作,同时您可以使用this post中的方法使用ExecuteScript,或使用来自{{3}的选项#2的ExecuteStreamCommand回答。

答案 1 :(得分:0)

解决方案#1

github上有一个开源库,可让您将navbar-brand转换为XML schema

假设你有这样的XML模式:

JSON

转换可以通过以下命令完成:

<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
  <xsd:complexType name="PurchaseOrderType">
    <xsd:sequence>
      <xsd:element name="shipTo" type="USAddress"/>
      <xsd:element name="billTo" type="USAddress"/>
      <xsd:element ref="comment" minOccurs="0"/>
      <xsd:element name="items"  type="Items"/>
    </xsd:sequence>
  <xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>

然后您可以使用结果来验证JSON,但请记住,这不是一对一的映射。您可能需要稍微调整一下结果。

解决方案#2

您可以使用此开源lib执行相同操作。

您可以按照自述文件上的说明进行操作,但转换相同架构的用法是:

java -jar jsonix-schema-compiler-full.jar
     -generateJsonSchema
     -p PO
     schemas/purchaseorder.xsd

希望你这有帮助。