Skip to content

jdthorpe/ajvr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The 'ajv' R library

The ajv library is a very thin wrapper around the awesome AJV JSON validation library. The essential change between the syntax presented in the official AJV Readme is exchanging JavaScript's dot operator (.) with R's dollar-sign operator ($).

Note that care must be taken in transforming R objects to JSON, because of R's everything-is-a-vector philosopy. Hence, for convenience file paths to valid JSON (.json) and YAML (.yml or .yaml) may be used wherever an object is expected.

Installation

# install.packages("devtools") # (if not already installed)
devtools::install_github("jdthorpe/ajvr")

Getting started

The fastest validation call:

library('ajv')
ajv = Ajv() # options can be passed, e.g. list(allErrors= TRUE)
validate = ajv$compile(schema)
valid = validate(data)
if (!valid) print(validate$errors)

or with less code

# ...
valid = ajv$validate(schema, data)
if (!valid) print(ajv$errors)
# ...

or

# ...
ajv$addSchema(schema, 'mySchema')
valid = ajv$validate('mySchema', data)
if (!valid) print(ajv$errorsText())
# ...

Note that in each of these calls, schema and data arguments may be a valid JSON string, an R object (i.e. list(...)), a connection to a JSON file, or the file name of JSON or YAML file. YAML files are parsed via js-yaml's safeLoad() method.

See API and Options for more details.

About

An thin wrapper for the AJV Json Validator for R

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published