4

我在一个名为的文件B.json和另一个具有名为BSchema.json.

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

注意:如果在 MacOS 中还有其他类似的命令,请添加到您的答案中,以便问题对所有平台的用户都有用。

4

4 回答 4

4

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

你可以这样称呼它:

jsonschema -i B.json BSchema.json

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

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

于 2015-09-02T07:12:27.607 回答
1

There are lot of command-line tools available that will allow you to validate a json against json schema

If it is a one-time thing , you can look at json-spec. But I found it lacking in following references in json schema.

But if you need a CI tool and you use node.js/grunt as your dev environment, use tv4 and its grunt job grunt-tv4

于 2017-03-16T12:22:49.190 回答
0

在 Powershell Core 中有一个内置方法可以让您进行验证test-json。PowerShell 语法:Test-Json [-Json] <String> [[-Schema] <String>]. 有关更多信息,请查看此处:https ://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/test-json

在问题中还询问了环境。Powershell Core v.7.0+ 是跨平台的,因此可以在任何地方进行此验证。如果你不能或不想使用 PowerShell,你可以试试这样的 Python 工具:Validate JSON file syntax in shell script without install any package

于 2020-09-14T20:43:01.600 回答
-1

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

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

我希望这有帮助!

于 2014-01-17T15:37:11.213 回答