Another JSON Schema Validator

A thin wrapper around the 'ajv' JSON validation package for JavaScript. See < http://epoberezkin.github.io/ajv/> for details.


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')
var ajv = Ajv() # options can be passed, e.g. list(allErrors= TRUE)
var validate = ajv$compile(schema)
var valid = validate(data)
if (!valid) print(validate$errors)

or with less code

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

or

# ...
ajv$addSchema(schema, 'mySchema')
var 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.

News

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("ajv")

1.0.0 by Jason Thorpe, 2 years ago


https://github.com/jdthorpe/ajvr


Report a bug at https://github.com/jdthorpe/ajvr/issues


Browse source code at https://github.com/cran/ajv


Authors: Jason Thorpe [aut, cre]


Documentation:   PDF Manual  


Task views: Web Technologies and Services


GPL-2 license


Imports V8, yaml, RJSONIO

Suggests knitr, rmarkdown, testthat


See at CRAN