- The OpenTofu Language
- 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 OpenTofu language values to JSON values in the following way:
| OpenTofu 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 OpenTofu 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​
jsondecodeperforms the opposite operation, decoding a JSON string to obtain its represented value.