A tiny language that defines a simple, familiar interface to substitute JSON into strings.
A Javascript implementation of the JSON Template Language as defined in the JSON Template Language Draft.
Specifying interfaces, runtime expression mapping, other forms of programmatically interacting with JSON and URIs.
To use the Javascript client you can:
Install it:
npm install @etclabscore/string-json-template-language --save
Import it:
import compileTemplate from "@etclabscore/string-json-template-language";
Use it somewhere:
const parsedJson = JSON.parse('{ "foo": "bar" }');
const template = "${foo}";
const resultString = compileTemplate(parsedJson, template);
// => "bar"
for the given JSON:
{
"query": {
"number": 1,
"salad": "potato"
}
}
and the given template:
http://www.example.com/foo?number=${query.number}&salad=${query.salad}
\__________/ \__________/
| |
| |
For each key in given JSON, substitute it by key into the string.
http://www.example.com/foo?number=1&salad=potato
for the given JSON
{
"query": {
"numbers": [0, 1, 2, 3],
"salads": ["caesar", "potato"]
}
}
and the given template:
http://www.example.com/foo?number=${query.numbers[1]}&salad=${query.salads[1]}
\_____________/ \_____________/
| |
| |
For each key in given JSON, subtitute it by array index into the string.
http://www.example.com/foo?number=1&salad=potato
Generated using TypeDoc