2010-03-23 81 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格式化,否則如果格式嚴重併發布到客戶端可能會導致它停止工作。

希望這對你有用,因爲它是對我的。