Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Copyright (c) 2012, Francis Galiegue <>
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the Lesser GNU General Public License as
  * published by the Free Software Foundation, either version 3 of the
  * License, or (at your option) any later version.
  * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * Lesser GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <>.
package com.github.fge.jsonschema.examples;
Third example: draft v4 detection via $schema

link to source code

This shows a basic usage example. This is the same source code as for Example1, except this time the schema (here) conforms to draft v4 instead of draft v3 (the $schema value differs).

One thing to note is a difference in the validation messages: while required properties were in charge of the properties keyword for draft v3, it is now in charge of the required keyword.

public final class Example3
    extends ExampleBase
    public static void main(final String... args)
        throws IOException
        final JsonNode fstabSchema = loadResource("/fstab-draftv4.json");
        final JsonNode good = loadResource("/fstab-good.json");
        final JsonNode bad = loadResource("/fstab-bad.json");
        final JsonNode bad2 = loadResource("/fstab-bad2.json");
        final JsonSchemaFactory factory = JsonSchemaFactory.defaultFactory();
        final JsonSchema schema = factory.fromSchema(fstabSchema);
        ValidationReport report;
        report = schema.validate(good);
        report = schema.validate(bad);
        report = schema.validate(bad2);
New to GrepCode? Check out our FAQ X