A simple and easy to use jsonvalidator
npm install anothersimplejsonvalidatorjavascript
import { JsonValidator, Schema } from "anothersimplejsonvalidator";
`
2. Define the schema:
`javascript
const schema = Schema.object({
id: Schema.string().required(),
name: Schema.string().required(),
details: Schema.object({
price: Schema.number().required(),
ratings: Schema.array(
Schema.object({
rating: Schema.number().required(),
comment: Schema.string(),
}).required()
),
}).required(),
tags: Schema.array(Schema.string()),
}).required();
`
3. Create a validator instance:
`javascript
const schema = S.object({
name: S.string(),
values: S.array(
S.array(
S.array(
S.array(S.any(), S.boolean()),
S.object({
someNumber: S.number(),
someString: S.string(),
nestedArray: S.array(
S.object({
nestedBoolean: S.boolean(),
nestedString: S.string(),
nestedNumber: S.number(),
nestedObject: S.object({
deeplyNestedString: S.string(),
deeplyNestedNumber: S.number(),
}),
})
),
})
),
S.string()
)
),
isActive: S.boolean(),
count: S.number(),
anyValue: S.any(),
}).setNestedRequired();
`
4. Validate JSON data:
`javascript
const data = {
// ... your JSON data
};
const validationResult = validator.validate(data);
if (validationResult === true) {
// Data is valid
} else {
// Handle errors
console.error(validationResult); // Array of ErrorController objects
/**
[
Y {
key: [ 'string' ],
location: 'JSON.a',
type: 'expected',
found: 'number',
example: null,
schemaType: null,
message: 'Expected string but found number at JSON.a'
}
]
**/
}
`
Error Handling
The validate method returns either true if the data is valid, or an array of ErrorController` objects containing detailed error information.