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;
First example: basic usage

link to source code

This shows a basic usage example. The schema used for validation is here, which conforms to draft v3. You will notice that a JSON Pointer (#/mntent) is used to address the mntent subschema.

This example uses com.github.fge.jsonschema.main.JsonSchemaFactory.defaultFactory(), and uses com.github.fge.jsonschema.main.JsonSchemaFactory.fromSchema(com.fasterxml.jackson.databind.JsonNode) to create the com.github.fge.jsonschema.main.JsonSchema instance.

The first sample (here) validates successfully.

The second sample (here) fails to validate. Please note that the failure occurs at the structural level (required entry swap is missing). Validation therefore stops here, and does not attempt to validate the / member of the instance, which is itself invalid.

The third sample (here) fails to validate as well. This time, the problem is with the member values:

  • the options member of /tmp is a string, but an array is expected;
  • the / member is missing the required fstype member.
public final class Example1
    extends ExampleBase
    public static void main(final String... args)
        throws IOException
        final JsonNode fstabSchema = loadResource("/fstab.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