使用Java进行JSON模式验证

25

我正在为一个返回JSON对象的Java Web应用编写一些验收测试。我想验证返回的JSON是否符合模式。有没有人能建议一些工具?


1
JSON的模式?这样的东西存在吗? - skaffman
8
是的。 - quikchange
1
有一个IETF的草案:http://tools.ietf.org/html/draft-zyp-json-schema-04,以及实现,对于Java,请参见https://github.com/fge/json-schema-validator。 - eskatos
3个回答

6

3
自2010年3月以来,这个主题肯定有了很多变化。你现在有何想法?你是否使用任何工具进行JSON验证?另外,@Fredrik,你呢? - blong

4

json-schema-validator(目前版本为0.0.1,还处于预阿尔法状态)对我非常有帮助。需要注意的是它并不完全支持所有功能,但可以正确识别我Json内容中的许多错误。


该项目托管在http://gitorious.org/json-schema-validation-in-java,目前仍然非常活跃。 - ngeek
现在它是2.2.6版本,但作者不再维护它并寻找新的人来接手。然而,这可能是目前Java中唯一的选择。 - Vlasec
2
以上两个链接都已经过时了。我在这里找到了它:https://github.com/daveclayton/json-schema-validator。 - mojoken

4

@b.long 我在寻找一种简单的解决方案,可以轻松验证字符串内容是否为JSON(对象/数组)。我没有找到适合我的需求的任何库。

虽然 JSON Tools 项目或 json-schema-validator 提供了很多功能,但它们对我的需求来说太过庞大。因此,我实现了自己的解决方案,它是基于Java中JSON.org参考实现构建的。

我已经在使用JSON.org的代码,而且从技术上讲,所有这些功能都已经存在,因此我添加了这个非常简单的功能,重用其代码。

我使用它轻松测试由查询数据库返回的字符串是否格式正确的JSON,否则如果格式不良好并发布给客户端,可能会导致客户端停止工作。

希望这对你有用,就像对我一样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接