DEV Community

German Bisurgi
German Bisurgi

Posted on

Jedison 1.29: JSON Schema forms for drafts 4 to 2020-12, no framework

Jedison turns a JSON Schema into a working form with validation. It needs no framework and has no dependencies.

Version 1.29 adds older drafts. A schema that declares $schema for draft-04, 06, 07 or 2019-09 is normalized to 2020-12 internally, so the same form and validation work for all of them:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "array",
  "items": [{ "type": "number" }, { "type": "number" }],
  "additionalItems": false
}
Enter fullscreen mode Exit fullscreen mode

What you get

  • Forms in plain JS: new Jedison.Create({ container, schema, theme })
  • Bootstrap 3, 4, 5 and Tailwind 4 themes
  • Headless validation in Node.js, with the same schema on the server
  • $ref with $id and $anchor, plus unevaluatedProperties and unevaluatedItems
  • Opt-in checks for 15 formats, written as plain parsers (no regex backtracking)

Validation runs against the official JSON-Schema-Test-Suite for every supported draft. A few known gaps are listed in the tests, and $dynamicRef is deliberately not supported.

Coming from JSON Editor? Its README says it is in maintenance mode and points to Jedison. Here is a migration guide.

Feedback and bug reports are welcome.


Show HN title: Show HN: Jedison, a framework-free JSON Schema form library (drafts 4 to 2020-12)

Show HN text: Jedison generates forms from JSON Schemas in the browser, with no framework or dependencies. 1.29 supports drafts 4, 6, 7, 2019-09 and 2020-12, tested against the official suite. It also validates headless in Node.js. Docs and JSON Editor migration guide: https://germanbisurgi.github.io/jedison-docs/

Top comments (0)