如何验证 JSON 数据是否满足 JSON Schema 规范?

Zig*_*gnd 7 json jsonschema

我的一个文件中有 JSON 数据B.json,另一个文件的 JSON 模式称为BSchema.json.

我想知道如何验证 JSON 数据是否满足 JSON Schema 规范,例如,在 Ubuntu 和 Windows 中,我可以使用xmllint命令行中的程序使用以下命令来验证相同的内容:xmllint --schema XMLSchemaFile.xsd --noout DataFile.xml。那么,是否有任何替代此命令(在 Linux 或 Windows 中)的方法可以让我输入两个文件并检查 JSON 数据是否满足 JSON 架构?

注意:如果 MacOS 中有任何其他类似的命令,请添加到您的答案中,这样这些问题将对所有平台的用户都有用。

cgm*_*gmb 8

从版本 2.4 开始,jsonschema包含一个命令行程序,用于根据另一个文件中指定的模式检查某些输入 json 文件。

你可以这样称呼它:

jsonschema -i B.json BSchema.json
Run Code Online (Sandbox Code Playgroud)

以下是我将对象放置在数组应在的位置时的一些示例输出:

{u'description': u'Doubles 资源集合。'}: {u'description': u'Doubles 资源集合。'} 不是 u'array' 类型

  • 与此同时,“jsonschema”正在弃用其 cli,转而使用“check-jsonschema”,它也是一个公共包。 (2认同)

sno*_*lly -2

这是一个基于网络的工具,看起来可以做你想做的事情:http://jsonschemalint.com/

它看起来基于这个库: https: //github.com/garycourt/JSV

我希望这有帮助!