如何评估JSON Schema的JSON



我熟悉使用.xsd使用apache nifi中的处理器validatexml验证.xml文件。

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

我可以使用NIFI来完成此任务吗?

对于转换零件,您可以使用此XSLT将XML转换为JSON通过Transformxml处理器。

validatejson处理器正在NIFI-1893下的作品中,与此同时,您可以将ExecuteScript与本文中的方法一起使用,或将ExecuteStreamCommand与 @Yaser的答案中的选项2一起使用。

解决方案#1

GitHub上有一个开源lib,它允许您将XML schema转换为JSON

假设您有这样的XML模式:

<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>

可以通过此命令来完成转换:

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

然后,您可以使用结果来验证您的json,但是记到这不是一对一的映射。您可能需要对结果进行一些调整。

解决方案#2

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

您可以按照readme文件上的说明进行操作,但是转换相同模式的用法将是:

xsd2json /path/to/purchaseorder.xsd > /created/purchaseorder.json

希望您对此有所帮助。

最新更新