Skip to content

Latest commit

 

History

History
225 lines (166 loc) · 10.3 KB

obsolete-implementations.md

File metadata and controls

225 lines (166 loc) · 10.3 KB
layout title permalink
page
Obsolete Implementations
/obsolete-implementations.html

NOTE: Due to the long gap after draft-04, many projects that implemented that draft became inactive by the time draft-06 was published, or are looking for new contributors to move forward. Such projects are listed here

For implementations supporting (or actively working towards) draft-06 or later, see the main Implementations page.

Projects supporting only draft-03 or earlier are no longer listed.

  • TOC {:toc}

Implementations below are written in different languages, and support part, or all, of the specification.

Implementations are classified based on their functionality. When known, the license of the project is also mentioned.

If you have updates to this list, make a pull request on the GitHub repo.

Validators

Libraries

{% assign validator-libraries = site.data.validator-libraries-obsolete | sort:"name" %}

{% for language in validator-libraries %}

  • [{{ language.name }}](#validator-{% if language.anchor-name %}{{ language.anchor-name }}{% else %}{{ language.name | downcase }}{% endif %}) {% endfor %}
    {% for language in validator-libraries %}
  • {{language.name}}
      {% for implementation in language.implementations %}
    • {{ implementation.name }}
          {% if implementation.draft %}
              <em>supports draft {{ implementation.draft | join: ", draft " }}</em>
          {% endif %}
      
          {{implementation.notes | markdownify | remove: '<p>' | remove: '</p>'}}
          ({{ implementation.license | join: ", " }})
      
          </li>
      {% endfor %}
      </ul>
      
    • {% endfor %}

    Online

    • JSON Schema Lint - validate against your own schemas
    • SchemaStore.org - validate against common JSON Schemas
    • quicktype.io - infer JSON Schema from samples, and generate TypeScript, C++, go, Java, C#, Swift, etc. types from JSON Schema

    Command Line

    {% for tool in site.data.validator-cli %}

    • [{{ tool.name }}]({{ tool.url }}) [draft {{ tool.draft | join: ", draft " }}] ({{ tool.license | join: ", " }}){% if tool.notes %}
      • {{ tool.notes }} {% endif %}{% endfor %}

    Benchmarks

    • Java
      • json-schema-validator-benchmark - compares performance of three JSON schema validator implementations (only one of which supports draft-06+) in Java(Apache 2.0)
    • JavaScript

    • PHP

      • php-json-schema-bench - comparative benchmark for JSON-schema PHP validators using JSON-Schema Test Suite and z-schema/JSCK (MIT)

    Hyper-Schema

    {% assign hyper-schema-libraries = site.data.hyper-libraries-obsolete | sort:"name" %}

    {% for language in hyper-schema-libraries %}

    • [{{ language.name }}](#hyper-schema-{% if language.anchor-name %}{{ language.anchor-name }}{% else %}{{ language.name | downcase }}{% endif %}) {% endfor %}
      {% for language in hyper-schema-libraries %}
    • {{language.name}}
        {% for implementation in language.implementations %}
      • {{ implementation.name }}
            {% if implementation.draft %}
                <em>supports draft {{ implementation.draft | join: ", draft " }}</em>
            {% endif %}
        
            {{implementation.notes | markdownify | remove: '<p>' | remove: '</p>'}}
            ({{ implementation.license | join: ", " }})
        
            </li>
        {% endfor %}
        </ul>
        
      • {% endfor %}

      Schema generation

      • Python
        • JSL (BSD) - a Python DSL for defining JSON Schemas
      • JavaScript
      • TypeScript
      • Visual Studio
      • Sparx Enterprise Architect
        • API-Add-In - Sparx EA extension for exporting JSON Schema from UML models

      Data parsing and code generation

      • Delphi
        • DJsonSchema (MIT) - JSON Schema reader and code generator for Delphi.
      • Groovy
        • jsonCodeGen (MIT) - Groovy based generation tasks from JSON schema. Already includes generators for Java Beans, Swagger specification files and PlantUML diagrams.
      • Haskell
      • Ruby
      • Scala
        • json-schema-codegen - Tool and SBT plugin for generating Scala, TypeScript models and parsers from Json-Schema definitions, supports draft 4 (Apache 2.0)
        • Argus (MIT) - Macros for building models from JSON Schemas
      • Swift
        • Bric-à-brac (MIT) - generates idiomatic swift structs and parser/serializer from JSON schemas
      • Golang
        • gojsonschema(Apache 2.0) - golang package for generating golang struct supports Draft 4. Demo

      UI generation

      TODO: Sort by draft support.

      Various levels of support for UI generation primarily from the validation vocabulary or combined with UI specific definition.

      Editors

      TODO: Sort by draft support.

      • Liquid XML Studio 2016 - Graphical JSON schema editor for draft 4, context sensitive intellisense for JSON documents.
      • Visual Studio 2013 - Auto-completion and tooltips based on JSON schema draft 3 and draft 4
      • 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
      • JSON Editor - An online, schema-aware editor for JSON document
      • Eclipse IDE - Rich JSON edition supporting schema for instantaneous validation and error reporting, completion, documentation.

      Compatibility

      Documentation generation

      Other