Giter Club home page Giter Club logo

Comments (4)

erosb avatar erosb commented on July 17, 2024

Hello,
could you please also post your java code?

from json-schema.

meikandamoorthi avatar meikandamoorthi commented on July 17, 2024

The custom FormatValidator will look something like this:

import java.util.Optional;
import org.everit.json.schema.FormatValidator;
public class EvenCharNumValidator implements FormatValidator {
    @Override
      public Optional<String> validate(final String subject) {
        if (subject.length() % 2 == 0) {
            System.out.println(subject);
          return Optional.empty();
        } else {
            System.out.println(subject);
          return Optional.of(String.format("the length of srtring [%s] is odd", subject));
        }
      }
}

The schema loader configuration:

        File schemaFile = new File("/Users/UserName/Downloads/schema.json");
        BufferedReader schemaBR = new BufferedReader(new FileReader(schemaFile));
        StringBuffer schemaStrbuf = new StringBuffer();
        String schemaCurrentLine;
        while ((schemaCurrentLine = schemaBR.readLine()) != null)
        {
            schemaStrbuf.append(schemaCurrentLine);
        }

        File dataFile = new File("/Users/UserName/Downloads/data.json");
        BufferedReader dataBR = new BufferedReader(new FileReader(dataFile));
        StringBuffer dataStrbuf = new StringBuffer();
        String dataCurrentLine;
        while ((dataCurrentLine = dataBR.readLine()) != null)
        {
            dataStrbuf.append(dataCurrentLine);
        }

        JSONObject jsonSchema = new JSONObject(new JSONTokener(schemaStrbuf.toString()));

        SchemaLoader schemaLoader = SchemaLoader.builder()
                .schemaJson(jsonSchema) // rawSchema is the JSON representation of the schema utilizing the "evenlength" non-standard format
                .addFormatValidator("evenlength", new EvenCharNumValidator()) // the EvenCharNumValidator gets bound to the "evenlength" keyword
                .build();

        Schema schema = schemaLoader.load().build(); // the schema is created using the above created configuration
        System.out.println(schema);


        JSONObject jsonSubject = new JSONObject(new JSONTokener(dataStrbuf.toString()));

        try
        {
            schema.validate(jsonSubject);  // the document validation happens here
        }
        catch(ValidationException ve)
        {
            System.out.println(ve.getLocalizedMessage());
        }

from json-schema.

meikandamoorthi avatar meikandamoorthi commented on July 17, 2024

@erosb any update?

from json-schema.

erosb avatar erosb commented on July 17, 2024

Hello @meikandamoorthi , I fixed it yesterday in 9830d29 .

from json-schema.

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.