如何根据XSD模式验证JSON



我知道这个标题听起来不可能,请稍等。我们有一个开放标准行业小组创建的XSD模式。在我们的服务中,我们希望我们的客户能够在提供数据时使用JSON或XML。在这种情况下最好的做法是什么?

  1. 将JSON有效负载转换为XML并根据XSD进行验证。

  2. 将XSD转换为JSON模式,并根据其自己的模式验证每个内容类型

  3. 将XSD转换为基于语言规范的类,并在代码中进行模式验证,然后在api中间件中处理内容协商

  4. 秘密超级选项

FWIW,这些XSD模式并不过于琐碎:大约4000行长,多个命名空间之间共享六个常见模式。更改很少(每2年一次(,但添加新模式的频率要高得多(每年10次(

在这种情况下的最佳实践是什么?

遵循任何现有的接口行业标准您已经为XML采用了UBL。好的

现在,您也想添加一个JSON接口,并且想知道是否…

  1. 将JSON有效负载转换为XML并根据XSD进行验证。

  2. 将XSD转换为JSON模式,并根据其自己的模式验证每个内容类型

  3. 将XSD转换为基于语言规范的类,并在代码中进行模式验证,然后在api中间件中处理内容协商

以上都不是直接实现OASIS的UBL2.1JSON替代表示版本1.0。对于验证,请使用已经开发的JSON UBL模式

最新更新