JSONVarParser
Turn a JSON payload into a variable with named fields.
json parses a JSON object and stores it under a name. Fields come back through the parameter, including nested ones through dotted paths. It pairs well with a parser that fetches a response body.
For template authors
Syntax
{json(name):{"key": "value"}}Examples
{json(user):{"name":"Parbez","age":30}}Your age is {user(age)}.
# Your age is 30.Reach nested fields with a dot:
{json(u):{"address":{"city":"Silchar"}}}You live in {u(address.city)}.
# You live in Silchar.Any key starting with an underscore is refused and the tag is left as written:
{u(_secret)}
# {u(_secret)}For developers
Register the parser
import { Interpreter, JSONVarParser, StrictVarsParser } from 'tagscript';
const ts = new Interpreter(new JSONVarParser(), new StrictVarsParser());A variable parser is needed to read the result back.
Behaviour
Both the parameter and the payload are required. parse stores a SafeObjectTransformer on ctx.response.variables and returns an empty string.
The payload is JSON.parsed. Invalid JSON throws, the interpreter catches it, and the render ends
with the parser error as the body. Feed this tag output from a source you control, or wrap it in your
own parser that validates first.
API reference
Last updated on