Terraform
jsonencode Function
jsonencode
encodes a given value to a string using JSON syntax.
The JSON encoding is defined in RFC 7159.
This function maps Terraform language values to JSON values in the following way:
Terraform 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 Terraform 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
. This is to preserve
compatibility with Terraform 0.11 behavior.
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.