Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  * Copyright (c) 2014, Francis Galiegue (
  * This software is dual-licensed under:
  * - the Lesser General Public License (LGPL) version 3.0 or, at your option, any
  *   later version;
  * - the Apache Software License (ASL) version 2.0.
 * The text of this file and of both licenses is available at the root of this
 * project or, if you have the jar distribution, in directory META-INF/, under
 * the names LGPL-3.0.txt and ASL-2.0.txt respectively.
 * Direct link to the sources:
 * - LGPL 3.0:
 * - ASL 2.0:
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 v4, which is the default version. You will notice that a JSON Pointer (#/definitions/mntent) is used to address a subschema defining a mount entry.

This example uses com.github.fge.jsonschema.main.JsonSchemaFactory.byDefault(), and uses com.github.fge.jsonschema.main.JsonSchemaFactory.getJsonSchema(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
    public static void main(final String... args)
        throws IOExceptionProcessingException
        final JsonNode fstabSchema = Utils.loadResource("/fstab.json");
        final JsonNode good = Utils.loadResource("/fstab-good.json");
        final JsonNode bad = Utils.loadResource("/fstab-bad.json");
        final JsonNode bad2 = Utils.loadResource("/fstab-bad2.json");
        final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
        final JsonSchema schema = factory.getJsonSchema(fstabSchema);
        ProcessingReport report;
        report = schema.validate(good);
        report = schema.validate(bad);
        report = schema.validate(bad2);
New to GrepCode? Check out our FAQ X