The json-schema package

[ Tags: bsd3, data, library ] [ Propose Tags ]

Types and type classes for defining JSON schemas.



[Skip to Readme]


Versions 0.4, 0.5, 0.6, 0.6.1,,,,,,,,,,,,,,,,,
Change log
Dependencies aeson (>=0.7 && <1.3), 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 BSD3
Author Silk
Category Data
Source repo head: git clone
Uploaded Fri Dec 18 18:27:39 UTC 2015 by AdamBergmark
Updated Thu Jan 25 20:37:08 UTC 2018 by AdamBergmark to revision 12   [What is this?]
Distributions LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 11795 total (121 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

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.