Skip to content

micha/json-e

 
 

Repository files navigation

JSON-e

JSON-e is a data-structure parameterization system for embedding context in JSON objects.

The central idea is to treat a data structure as a "template" and transform it, using another data structure as context, to produce an output data structure.

There are countless libraries to do this with strings, such as mustache. What makes JSON-e unique is that it operates on data structures, not on their textual representation. This allows input to be written in a number of formats (JSON, YAML, etc.) or even generated dynamically. It also means that the output cannot be "invalid", even when including large chunks of contextual data.

JSON-e is also designed to be safe for use on untrusted data. It never uses eval or any other function that might result in arbitrary code execution. It also disallows unbounded iteration, so any JSON-e rendering operation will finish in finite time.

Full Documentation

See json-e.js.org.

Changes

See CHANGELOG.rst for the changes in each version of this library.

About

A data-structure parameterization system written for embedding context in JSON objects

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 38.4%
  • Go 23.9%
  • Python 19.8%
  • JavaScript 17.6%
  • Shell 0.3%