Coder Social home page Coder Social logo

Comments (8)

fge avatar fge commented on July 3, 2024

Can you post your schema and sample data?

from json-schema-validator.

fge avatar fge commented on July 3, 2024

Any input? I'm at a loss on reproducing this issue. Also, what version are you using? Is this 0.4, master?

from json-schema-validator.

lazdmx avatar lazdmx commented on July 3, 2024

Ok, for example

Schemas:

{
  "search": {
    "in": {
      "type": "object",
      "properties": {
        "filter": {
          "type": "string",
          "required": true
        },
        "max": {
          "type": "integer",
          "minimum": 1,
          "required": true
        }
      },
      "additionalProperties": false
    },
    "out": {
      "type": "object",
      "properties": {
        "status": {
          "type":"number"
        },
        "subjects":{
          "type": "array",
          "items":{
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "passport": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}

Json instance :

{
  "status":0,
  "subjects":[{
    "name": "User",
    "passport": "12345679"
  }]
}

Code:

public class App {

  private static final Logger logger = Logger.getLogger(App.class.getName());

  public static void main(String[] args) {

    try {
      File schemaFile =
              new File(new File(System.getProperty("user.dir")),
              "target/classes/schemas/all.json");
      File jsonFile =
              new File(new File(System.getProperty("user.dir")),
              "target/classes/in.json");
      final JsonNode schemas = JsonLoader.fromFile(schemaFile);
      final JsonNode js = JsonLoader.fromFile(jsonFile);

      final JsonValidator validator = new JsonValidator(schemas);

      for (int i = 0; i < 2; ++i) {
        ValidationReport report = validator.validate("#/search/out", js);
        if (report.isSuccess()) {
          logger.info("Success");
        } else {
          logger.info("Error:");
          for (String mes : report.getMessages()) {
            logger.info(mes);
          }

        }
      }

    } catch (JsonValidationFailureException ex) {
      logger.log(Level.WARNING, "Validation Failure", ex);
    } catch (IOException ex) {
      logger.log(Level.SEVERE, "Unable to read JSON schemas", ex);
    }
  }
}

from json-schema-validator.

fge avatar fge commented on July 3, 2024

OK, I can reproduce it, looking it up...

from json-schema-validator.

fge avatar fge commented on July 3, 2024

43cb1f2 <-- this fixes it. Nice catch!

I prepare for release 0.4.1.

from json-schema-validator.

fge avatar fge commented on July 3, 2024

OK, 0.4.1 is in the pipe. Let me know when you have downloaded it!

from json-schema-validator.

fge avatar fge commented on July 3, 2024

I take it that "no news, good news".

from json-schema-validator.

lazdmx avatar lazdmx commented on July 3, 2024

All seams to be workable now, thanks.

from json-schema-validator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.