IFJV is a Java-based tool designed for high-speed JSON validation using a predefined schema. This project is a demo version and does not include all potential features. It offers an efficient solution, using string-based validation for JSONs rather than relying on heavier structures.
The validation algorithm operates with scalability close to O(n), where n represents the number of characters in the JSON string.
IFJV schemas are similar to popular json validation schemas which are described in
detail here. However, it doesn't support all of these
features. To define schemas we use yaml
files.
root instance types | is supported |
---|---|
array |
true |
boolean |
true |
const |
false |
enum |
false |
integer |
true |
number |
true |
object |
true |
string |
true |
keywords | is supported | is required |
---|---|---|
minItems |
true |
false |
maxItems |
true |
false |
items |
true |
true |
uniqueItems |
false |
false |
minContains |
false |
false |
maxContains |
false |
false |
type: array
items: number
type: array
items:
type: number
minimum: 0
keywords | is supported |
---|---|
multipleOf |
false |
minimum |
true |
maximum |
true |
exclusiveMinimum |
true |
exclusiveMaximum |
true |
integer
type: number
minimum: 1
exclusiveMaximum: 2.5
keywords | is supported | is required |
---|---|---|
minProperties |
false |
false |
maxProperties |
false |
false |
properties |
true |
true |
required |
true |
false |
dependentRequired |
true |
false |
type: object
properties:
num: integer
type: object
properties:
num:
type: integer
minimum: 0
keywords | is supported |
---|---|
minLength |
true |
maxLength |
true |
pattern |
false |
string
type: string
minLength: 1
All rights reserved. If you want to use it, please contact me.