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.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.11/language/functions/jsonencode/