2013-09-23 2 views
5

JSONリクエストを受け入れる必要のある安らかなWebサービス(JAVA)があります。私はまずJSONスキーマに対してこのJSONを検証しなければなりません。 JSONスキーマを再検証するための最良のJAVAライブラリが何であるか分かりません。 私はjson-schema-validator -2.1.7ライブラリを使用しましたが、あまり役に立ちませんでした。私のJSONは有効なJSONではないと思っていましたが、何のエラーもありません。ここでJSONスキーマバリデーターライブラリ

は、私はすべてのもののJSONのためにジャクソンでバイアスだ私はJSON Schemaにバリ-2.1.7

InputStream jsonSchemaInputStream = Assessment.class.getClassLoader().getResourceAsStream("Schemas/AssessmentMetrics.json"); 
ObjectMapper mapper = new ObjectMapper(); 

// Allows to retrieve a JSONSchema object on various sources 
// supported by the ObjectMapper provided 
JSONSchemaProvider schemaProvider = new JacksonSchemaProvider(mapper); 

// Retrieves a JSON Schema object based on a file 
JSONSchema schema = schemaProvider.getSchema(jsonSchemaInputStream); 

// Validates a JSON Instance object stored in a file 
List<String> errors = schema.validate(contents); 
+3

(あなたが使用しているライブラリを書いた男は)、それが思われますJSONスキーマの検証のためのJavaの最も完全なオプションは彼のライブラリです...まあ、あなたもjackson検証モジュールを試してみてください。また、2.1.7は安定版ではなく2.0.1(https://github.com/fge/json-schema-validatorによる)であることに注意してください。 私はあなたの質問にあなたのスキーマのサンプルと検証しようとしているjsonを追加するようお願いします。 –

答えて

2

に使用するコードです。フランシスここhttps://groups.google.com/forum/#!topic/json-schema/ew_s7G9PoxEで述べたように

https://github.com/FasterXML/jackson-module-jsonSchema

+8

そのリンクを読んでも、JSONスキーマのバリデータではないようです。これは、アノテーション付きのJavaクラスがあることを前提としており、それらを調べて、すべてのシリアル化されたJSONが従うJSONスキーマを生成します。ポスターの質問は逆のシナリオですが、誰かにJSONスキーマとJSONドキュメントが与えられ、ドキュメントがスキーマを満たしているかどうかをチェックしたいと考えています。 –