- Built-in Functions
- jsonencode
jsonencode
Function
jsonencode
encodes a given value to a string using JSON syntax.
The JSON encoding is defined in RFC 7159.
This function maps OpenTF language values to JSON values in the following way:
OpenTF type | JSON type |
---|---|
string | String |
number | Number |
bool | Bool |
list(...) | Array |
set(...) | Array |
tuple(...) | Array |
map(...) | Object |
object(...) | Object |
Null value | null |
Since the JSON format cannot fully represent all of the OpenTF language
types, passing the jsonencode
result to jsondecode
will not produce an
identical value, but the automatic type conversion rules mean that this is
rarely a problem in practice.
When encoding strings, this function escapes some characters using
Unicode escape sequences: replacing <
, >
, &
, U+2028
, and U+2029
with
\u003c
, \u003e
, \u0026
, \u2028
, and \u2029
.
The jsonencode
command outputs a minified representation of the input.
Examples
> jsonencode({"hello"="world"})
{"hello":"world"}
Related Functions
jsondecode
performs the opposite operation, decoding a JSON string to obtain its represented value.