diff --git a/implementations.md b/implementations.md index 917cfda1..c341b754 100644 --- a/implementations.md +++ b/implementations.md @@ -38,162 +38,162 @@ Validators - .NET - - Json.NET (MIT) - - NJsonSchema - *supports version 4* (Ms-PL) + - [Json.NET](http://james.newtonking.com/projects/json-net.aspx) (MIT) + - [NJsonSchema](http://NJsonSchema.org) - *supports version 4* (Ms-PL) - ActionScript 3 - - Frigga (MIT) + - [Frigga](https://github.com/raulbajales/Frigga) (MIT) - C - - WJElement (LGPLv3) + - [WJElement](https://github.com/netmail-open/wjelement) (LGPLv3) - C++ - - wjelement-cpp - *supports version 4* (LGPLv3) - - Header-only C++ library for JSON Schema validation - *supports only version 4* (BSD-2-Clause) - - Modern C++ JSON schema validator - *supports only version 4* based on JSON for Modern C++ (MIT) + - [wjelement-cpp](https://github.com/petehug/wjelement-cpp) - *supports version 4* (LGPLv3) + - [Header-only C++ library for JSON Schema validation](https://github.com/tristanpenman/valijson) - *supports only version 4* (BSD-2-Clause) + - [Modern C++ JSON schema validator](https://github.com/pboettch/json-schema-validator) - *supports only version 4* based on JSON for Modern C++ (MIT) - Clojure - - scjsv - *supports version 4* (wrapper for [fge/json-schema-validator](https://github.com/fge/json-schema-validator)) (Eclipse Public License v1.0) + - [scjsv](https://github.com/metosin/scjsv) - *supports version 4* (wrapper for [fge/json-schema-validator](https://github.com/fge/json-schema-validator)) (Eclipse Public License v1.0) - Dart - - json_schema *supports version 4* (BSL-1.0) + - [json_schema](https://github.com/patefacio/json_schema) *supports version 4* (BSL-1.0) - Erlang - - JeSSE (Apache 2.0) + - [JeSSE](https://github.com/for-GET/jesse) (Apache 2.0) - Go - - gojsonschema (Apache 2.0) - - jsonschema *supports version 4* (BSD-3-Clause) + - [gojsonschema](https://github.com/sigu-399/gojsonschema) (Apache 2.0) + - [jsonschema](https://github.com/santhosh-tekuri/jsonschema) *supports version 4* (BSD-3-Clause) - Haskell - - aeson-schema (MIT) - - hjsonschema - *supports version 4* (MIT) + - [aeson-schema](https://github.com/timjb/aeson-schema) (MIT) + - [hjsonschema](https://github.com/seagreen/hjsonschema) - *supports version 4* (MIT) - Java - - json-schema-validator - *supports version 4* (LGPLv3) - - json-schema (implementation based on the org.json API) - *supports version 4* (Apache License 2.0) - - json-schema-validator - *supports version 4* (Apache License 2.0) + - [json-schema-validator](https://github.com/fge/json-schema-validator) - *supports version 4* (LGPLv3) + - [json-schema (implementation based on the org.json API)](https://github.com/everit-org/json-schema) - *supports version 4* (Apache License 2.0) + - [json-schema-validator](https://github.com/networknt/json-schema-validator) - *supports version 4* (Apache License 2.0) - JavaScript - - ajv for Node.js and browsers - *supports version 4, version 6, [custom keywords](https://github.com/epoberezkin/ajv-keywords) and [$data reference](https://github.com/json-schema-org/json-schema-spec/issues/51)* (MIT) - - djv for Node.js and browsers - *supports version 4* (MIT) - - jsonschema for Node.js - *supports version 4* (MIT) - - is-my-json-valid - *supports version 4* (MIT) - - tv4 - *supports version 4* (Public Domain) - - JaySchema for Node.js - *supports version 4* (BSD) - - z-schema for Node.js - *supports version 4* (MIT) - - direct-schema (BSD) - - JSV (BSD) - - json-schema (AFL or BSD) as part of Persevere - - schema.js (MIT) - - json-gate (MIT) - - JSEN for Node.js - *supports version 4* (MIT) + - [ajv](https://github.com/epoberezkin/ajv) for Node.js and browsers - *supports version 4, version 6, [custom keywords](https://github.com/epoberezkin/ajv-keywords) and [$data reference](https://github.com/json-schema-org/json-schema-spec/issues/51)* (MIT) + - [djv](https://github.com/korzio/djv) for Node.js and browsers - *supports version 4* (MIT) + - [jsonschema](https://github.com/tdegrunt/jsonschema) for Node.js - *supports version 4* (MIT) + - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - *supports version 4* (MIT) + - [tv4](http://geraintluff.github.com/tv4/) - *supports version 4* (Public Domain) + - [JaySchema](https://github.com/natesilva/jayschema) for Node.js - *supports version 4* (BSD) + - [z-schema](https://github.com/zaggino/z-schema) for Node.js - *supports version 4* (MIT) + - [direct-schema](http://github.com/IreneKnapp/direct-schema) (BSD) + - [JSV](http://github.com/garycourt/JSV) (BSD) + - [json-schema (AFL or BSD) as part of Persevere](http://github.com/kriszyp/json-schema) + - [schema.js](https://github.com/akidee/schema.js) (MIT) + - [json-gate](https://github.com/oferei/json-gate) (MIT) + - [JSEN](https://github.com/bugventure/jsen) for Node.js - *supports version 4* (MIT) - PHP - - jsv4-php - *supports version 4* (Public Domain / MIT) - - php-json-schema (MIT) - - json-schema (Berkeley) - - JVal - *supports version 4* (MIT) - - JSON Guard - *supports version 4* (MIT) + - [jsv4-php](https://github.com/geraintluff/jsv4-php) - *supports version 4* (Public Domain / MIT) + - [php-json-schema](https://github.com/hasbridge/php-json-schema) (MIT) + - [json-schema](https://github.com/justinrainbow/json-schema) (Berkeley) + - [JVal](https://github.com/stefk/jval) - *supports version 4* (MIT) + - [JSON Guard](https://github.com/thephpleague/json-guard) - *supports version 4* (MIT) - Perl - - JSV::Validator (MIT) - - JSON::Schema (MIT) + - [JSV::Validator](https://metacpan.org/module/JSV::Validator) (MIT) + - [JSON::Schema](https://metacpan.org/module/JSON::Schema) (MIT) - Python - - jsonschema - *supports version 4* (MIT) - - json-schema-validator (LGPL) + - [jsonschema](https://github.com/Julian/jsonschema) - *supports version 4* (MIT) + - [json-schema-validator](https://github.com/zyga/json-schema-validator) (LGPL) - Ruby - - ruby-jsonschema (MIT) - - json-schema - *supports version 4* (MIT) + - [ruby-jsonschema](https://github.com/Constellation/ruby-jsonchema) (MIT) + - [json-schema](https://github.com/hoxworth/json-schema) - *supports version 4* (MIT) ### Online -- JSON Schema Lint - validate against your own schemas -- SchemaStore.org - validate against common JSON Schemas +- [JSON Schema Lint](http://jsonschemalint.com/) - validate against your own schemas +- [SchemaStore.org](http://schemastore.org/validator/) - validate against common JSON Schemas Validation benchmarks --------------------- - Java - - json-schema-validator-benchmark - compares performance of three JSON schema validator implementations in Java(Apache 2.0) + - [json-schema-validator-benchmark](https://github.com/networknt/json-schema-validator-perftest) - compares performance of three JSON schema validator implementations in Java(Apache 2.0) - JavaScript - - json-schema-benchmark - an independent benchmark for Node.js JSON-schema validators based on JSON-Schema Test Suite (MIT) - - z-schema validator benchmark - compares performance in the individual tests from JSON-Schema Test Suite (MIT) - - JSCK validator benchmark - shows performance for JSON-schemas of different complexity (MIT) + - [json-schema-benchmark](https://github.com/ebdrup/json-schema-benchmark) - an independent benchmark for Node.js JSON-schema validators based on JSON-Schema Test Suite (MIT) + - [z-schema validator benchmark](https://github.com/zaggino/z-schema#benchmarks) - compares performance in the individual tests from JSON-Schema Test Suite (MIT) + - [JSCK validator benchmark](https://github.com/pandastrike/jsck#benchmarks) - shows performance for JSON-schemas of different complexity (MIT) Schema generation ----------------- - .NET - - Json.NET (MIT) - generates schemas from .NET types - - NJsonSchema - *supports version 4* (Ms-PL) - generates schemas from .NET types + - [Json.NET](http://james.newtonking.com/projects/json-net.aspx) (MIT) - generates schemas from .NET types + - [NJsonSchema](http://NJsonSchema.org) - *supports version 4* (Ms-PL) - generates schemas from .NET types - PHP - - Liform (MIT) - generates schemas from Symfony forms + - [Liform](https://github.com/Limenius/liform) (MIT) - generates schemas from Symfony forms - Python - - JSL (BSD) - a Python DSL for defining JSON Schemas + - [JSL](https://github.com/aromanovich/jsl) (BSD) - a Python DSL for defining JSON Schemas - Scala - - Schema Guru (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances + - [Schema Guru](https://github.com/snowplow/schema-guru) (Apache 2.0) - CLI util, Spark Job and Web UI for deriving JSON Schemas out of corpus of JSON instances - TypeScript - - typescript-json-schema - - Typson (Apache 2.0) + - [typescript-json-schema](https://github.com/YousefED/typescript-json-schema) + - [Typson](https://github.com/lbovet/typson) (Apache 2.0) - Online (web tool) - [jsonschema.net](http://www.jsonschema.net/) - generates schemas from example data - - Schema Guru Web UI - derives precise Schemas using several JSON instances. Based on [Schema Guru](link-impl-guru) + - [Schema Guru Web UI](http://schemaguru.snowplowanalytics.com/) - derives precise Schemas using several JSON instances. Based on [Schema Guru](link-impl-guru) - Visual Studio - - JSON Schema Generator - free extension + - [JSON Schema Generator](http://visualstudiogallery.msdn.microsoft.com/b4515ef8-a518-41ca-b48c-bb1fd4e6faf7) - free extension - Sparx Enterprise Architect - - API-Add-In - Sparx EA extension for exporting JSON Schema from UML models + - [API-Add-In](https://github.com/bayeslife/api-add-in) - Sparx EA extension for exporting JSON Schema from UML models Data parsing ------------ - Haskell - - aeson-schema (MIT) - generates code for a parser + - [aeson-schema](https://github.com/timjb/aeson-schema) (MIT) - generates code for a parser - Ruby - - autoparse (ASL 2.0) + - [autoparse](https://github.com/google/autoparse) (ASL 2.0) - Scala - - json-schema-codegen - Tool and SBT plugin for generating Scala, TypeScript models and parsers from Json-Schema definitions, *supports version 4* (Apache 2.0) - - Argus (MIT) - Macros for building models from JSON Schemas + - [json-schema-codegen](https://github.com/VoxSupplyChain/json-schema-codegen) - Tool and SBT plugin for generating Scala, TypeScript models and parsers from Json-Schema definitions, *supports version 4* (Apache 2.0) + - [Argus](https://github.com/aishfenton/argus) (MIT) - Macros for building models from JSON Schemas UI generation ------------- - JavaScript - - Jsonary - *supports version 4* (MIT) - - Metawidget (LGPL) - - Liform-react (MIT) - - JSON Forms (MIT) + - [Jsonary](http://jsonary.com/) - *supports version 4* (MIT) + - [Metawidget](http://metawidget.org/) (LGPL) + - [Liform-react](https://github.com/Limenius/liform-react) (MIT) + - [JSON Forms](http://jsonforms.io) (MIT) Editors ------- -- Liquid XML Studio 2016 - *Graphical JSON schema editor for v4, context sensitive intellisense for JSON documents.* -- Visual Studio 2013 - *Auto-completion and tooltips based on JSON schema v3 and v4* -- JSONBuddy - *Grid-style JSON editor and context sensitive entry-helpers based on JSON schema* -- ReSharper 2016.1 - *code completion, inspections and quick fixes for JSON schema in Visual Studio 2010 - 2015, including support for JSON Path and regular expressions for schema editing* -- Visual Studio Code - *Schema driven code completion, hovers and validation for editing JSON files (including schemas)* -- JSONEditor Online - *View, edit, format, and validate JSON online* -- Json Schema Editor - *An intuitive editor for json schema online* +- [Liquid XML Studio 2016](https://www.liquid-technologies.com/json-schema-editor) - *Graphical JSON schema editor for v4, context sensitive intellisense for JSON documents.* +- [Visual Studio 2013](http://www.visualstudio.com/) - *Auto-completion and tooltips based on JSON schema v3 and v4* +- [JSONBuddy](http://www.json-buddy.com/) - *Grid-style JSON editor and context sensitive entry-helpers based on JSON schema* +- [ReSharper 2016.1](https://www.jetbrains.com/resharper/) - *code completion, inspections and quick fixes for JSON schema in Visual Studio 2010 - 2015, including support for JSON Path and regular expressions for schema editing* +- [Visual Studio Code](https://code.visualstudio.com/) - *Schema driven code completion, hovers and validation for editing JSON files (including schemas)* +- [JSONEditor Online](http://jsoneditoronline.org) - *View, edit, format, and validate JSON online* +- [Json Schema Editor](https://json-schema-editor.tangramjs.com) - *An intuitive editor for json schema online* Compatibility ------------- - JavaScript - - JSON Schema Compatibility - *converts v3 to v4* (Public Domain) + - [JSON Schema Compatibility](https://github.com/geraintluff/json-schema-compatability) - *converts v3 to v4* (Public Domain) Hyper-schema handling --------------------- - JavaScript - - Jsonary - *supports version 4* (MIT) + - [Jsonary](http://jsonary.com/) - *supports version 4* (MIT) - Scala - - json-schema-parser - Schema parser and validator, *supports version 4* (Apache 2.0) + - [json-schema-parser](https://github.com/VoxSupplyChain/json-schema-parser) - Schema parser and validator, *supports version 4* (Apache 2.0) Documentation generation ------------------------ - JavaScript - - Matic (MIT) - - Docson (Apache 2.0) - - doca (BSD) + - [Matic](https://github.com/mattyod/matic) (MIT) + - [Docson](https://github.com/lbovet/docson) (Apache 2.0) + - [doca](https://github.com/cloudflare/doca/) (BSD) Other ----- - JavaScript - - Orderly (BSD) - - Dojo (AFL or BSD) - supports some aspects of JSON Schema - - Schematic Ipsum (MIT) - - JSON-Schema-Instantiator (MIT) - - JSON Schema Random (Apache 2.0) + - [Orderly](http://orderly-json.org) (BSD) + - [Dojo](http://www.dojotoolkit.org/) (AFL or BSD) - supports some aspects of JSON Schema + - [Schematic Ipsum](http://schematic-ipsum.herokuapp.com/) (MIT) + - [JSON-Schema-Instantiator](https://github.com/tomarad/JSON-Schema-Instantiator) (MIT) + - [JSON Schema Random](https://github.com/andreineculau/json-schema-random) (Apache 2.0)