metosin/scjsv

Simple JSON-Schema validator for Clojure


License
EPL-2.0

Documentation

scjsv License Build Status Dependencies Status

Simple Clojure JSON-Schema Validator - on top of daveclayton/json-schema-validator.

Latest version

Clojars Project

Usage

  • API docs
  • validator creates a Clojure data structure validator against the given JSON Schema.
  • json-validator created a JSON string validator against the given JSON Schema.
  • JSON Schemas can be represented either as JSON strings or as Clojure Maps.
(require '[scjsv.core :as v])

(def schema {:$schema "http://json-schema.org/draft-04/schema#"
             :type "object"
             :properties {:id {:type "integer"}}
             :required [:id]})

(def validate (v/validator schema))

(validate {:id 1})
; nil

(validate {})
; ({:domain "validation"
;   :instance {:pointer ""}
;   :keyword "required"
;   :level "error"
;   :message "object has missing required properties ([\"id\"])"
;   :missing ["id"]
;   :required ["id"]
;   :schema {:loadingURI "#" :pointer ""}})

License

Copyright © 2015-2016 Metosin Oy

Distributed under the Eclipse Public License, the same as Clojure.