如何以编程方式针对架构验证JSON字符串?

时间:2009-09-03 14:31:52

标签: java .net json validation

是否有简单的库(.NET和Java)能够在给定模式定义的情况下验证JSON字符串?

它应该与使用XSD验证XML的方式类似。

编辑:我需要.NET Java库。感谢darin for .NET link!

4 个答案:

答案 0 :(得分:5)

对于.NET,您可以使用支持Json.NETschema validation

答案 1 :(得分:4)

Here您可以找到一些在使用JSON时可能有用的Java类。

当您的JSON字符串的语法不正确时,将抛出 JSONException 的实例 - 我认为这是检查正确性的最简单方法。 JSONTokener 是您必须用来解析的类。它有一个构造函数,它将 java.lang.String 作为参数。

编辑:抱歉,我误解了一点。可能JSON Tools是您正在寻找的图书馆。它提供了validation using a JSON schema

答案 2 :(得分:2)

www.json-schema.org定义了在JSON中实现模式的标准。这里有一个软件列表,包括多种语言的验证器:

http://json-schema.org/implementations.html

答案 3 :(得分:1)

我最近使用NJsonSchema for .NET库来验证模式,它对我来说非常合适,即使对于在多个文件中定义的复杂方案也是如此:

https://github.com/NJsonSchema/NJsonSchema

  

NJsonSchema是一个.NET库,用于读取,生成和验证JSON Schema draft v4架构。库可以从文件或字符串中读取模式,并针对它验证JSON数据。也可以从现有的.NET类生成模式。使用代码生成API,您可以从模式生成C#和TypeScript类或接口。

它不仅允许对模式进行验证,还允许从现有类生成模式文件。它的优点是它是一个开源的,如果我的问题,与项目作者的沟通非常迅速和良好。

对于寻求免费验证解决方案的人来说,这是一个不错的选择。