json-schema: Types and type classes for defining JSON schemas.

[ bsd3, data, library ] [ Propose Tags ]

Types and type classes for defining JSON schemas.


See https://github.com/silkapp/json-schema/blob/master/README.md

[Skip to Readme]
Versions 0.4, 0.5, 0.6, 0.6.1,,,,,,,,,,,,,,,,,
Change log CHANGELOG.md
Dependencies aeson (>=0.7 && <1.4), base (>=4.4 && <5), containers (>=0.3 && <0.6), generic-aeson (==0.2.*), generic-deriving (>=1.6 && <1.13), ghc-prim (==0.2.*), mtl (>=2.1 && <2.3), scientific (==0.3.*), tagged (>=0.2 && <0.9), text (>=0.10 && <1.3), time (>=1.2 && <1.9), unordered-containers (==0.2.*), vector (>=0.10 && <0.13) [details]
License BSD-3-Clause
Author Silk
Maintainer code@silk.co
Revised Revision 13 made by AdamBergmark at Fri Mar 30 01:45:56 UTC 2018
Category Data
Source repo head: git clone https://github.com/silkapp/json-schema.git
Uploaded by AdamBergmark at Fri Dec 18 18:27:39 UTC 2015
Distributions LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 11886 total (34 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-12-18 [all 1 reports]
Hackage Matrix CI




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for json-schema-

[back to package description]


Build Status

json-schema is like XML schemas, but for JSON. It's haskell specific and has no relation to json-schema.org.

The package provides

  • An AST type Schema defining the structure of a JSON object.
  • A type class JSONSchema to define a schema for a type.
  • Combinators for defining schemas.
  • A module for validating Aeson values against schemas.
  • Built-in instances matching aeson's.
  • A Generics module matching aeson instances generated by generics-aeson

If you use another library for generating JSON instances (such as aeson's built-in generics/template haskell) or write aeson instances by hand you will not get matching JSONSchema instances if you use json-schema's generics module.

This package assumes that your ToJSON and FromJSON instances match.


This package is available on hackage

$ cabal install json-schema


see the examples folder or The test suite.