2010-03-23 119 views
25

我正在为返回JSON对象的java webapp编写一些验收测试。我想验证返回的JSON是否针对模式进行验证。任何人都可以为此提供任何工具吗?使用Java的JSON模式验证

+1

JSON模式?这样的事情存在吗? – skaffman 2010-03-23 10:39:11

+8

[是](http://json-schema.org/) – quikchange 2011-05-23 20:52:43

+1

IETF有一份草案:http://tools.ietf.org/html/draft-zyp-json-schema-04和实现,适用于Java请参阅https://github.com/fge/json-schema-validator – eskatos 2013-10-27 14:48:28

回答

6

JSON Tools projectProgrammer's Guide)包含一个使用JSON模式验证JSON文件内容的工具。

另一种方法是验证是否使用Rhino运行(JavaScript)JSON Schema Validator

+1

自2010年3月以来,我打赌很多人在此主题上发生了变化。您现在有什么想法?你使用任何东西进行JSON验证?另外,@Fredrik,你自己呢? – blong 2011-11-11 20:21:42

4

json-schema-validator(目前版本为0.0.1,所以处于pre-alpha状态)对我来说工作得很好。请注意,它不是100%功能完整的,但它仍然可以正确识别我的json内容中的很多错误。

+0

后面的项目托管在http://gitorious.org/json-schema-validation-in-java上,并且仍然非常活跃 – ngeek 2012-06-18 07:53:00

+0

现在它的版本是2.2.6,但作者不再维护它并寻找一些新的人来去做。但是,目前它可能是Java中唯一的选择。 – Vlasec 2015-04-08 08:30:18

+2

上述两个链接都是旧的。我在这里找到它:[https://github.com/daveclayton/json-schema-validator](https://github.com/daveclayton/json-schema-validator) – mojoken 2016-12-08 21:42:02

4

@ b.long我遇到这个帖子寻找一个非常特殊的解决方案来轻松验证一个字符串的内容是否有一个JSON(对象/数组)。我无法找到任何适合我需求的图书馆。

JSON工具项目或json-schema-validator虽然提供了很多太大,我的需要。因此,我确实实施了my own solution,它建立在JSON.org reference implementation of JSON in Java之上。 我已经使用JSON.org的代码,并且从技术上说,所有这些功能已经存在,因此我添加了这个非常简单的功能来重用它的代码。

我用它来轻松测试查询我的数据库的方法返回的字符串是否使用正确的JSON格式化,否则如果格式严重并发布到客户端可能会导致它停止工作。

希望这对你有用,因为它是对我的。