terraform/website/docs/configuration/functions/jsonencode.html.md

1.8 KiB

layout page_title sidebar_current description
language jsonencode - Functions - Configuration Language docs-funcs-encoding-jsonencode The jsonencode function encodes a given value as a JSON string.

jsonencode Function

-> Note: This page is about Terraform 0.12 and later. For Terraform 0.11 and earlier, see 0.11 Configuration Language: Interpolation Syntax.

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.

Examples

> jsonencode({"hello"="world"})
{"hello":"world"}
  • jsondecode performs the opposite operation, decoding a JSON string to obtain its represented value.