Each row of the data frame will be converted to JSON and validated against the given schema.
check_schema_df( df, schema, success_msg = "Data is valid against the schema", fail_msg = "Data is invalid against the schema" )
df | A data frame whose rows will be converted into JSON and validated |
---|---|
schema | Contents of the json schema, or a filename containing a schema. |
success_msg | Message indicating the check succeeded. |
fail_msg | Message indicating the check failed. |
A condition object indicating whether the data is valid against the schema.
if (requireNamespace("jsonvalidate", quietly = TRUE) & requireNamespace("jsonlite", quietly = TRUE)) { dat <- data.frame( x = c(NA, 1, NA), y = c(NA, NA, "foo") ) schema <- '{ "$schema": "http://json-schema.org/draft-04/schema#", "properties": { "x": { "type": "integer" }, "y": { "type": "integer" } }, "required": ["x", "y"] } ' check_schema_df(dat, schema) }#> <error/check_fail> #> Data is invalid against the schema