website/content/docs/templates/hcl_templates/functions/encoding/jsondecode.mdx
⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
[!IMPORTANT]
Documentation Update: Product documentation previously located in/websitehas moved to thehashicorp/web-unified-docsrepository, where all product documentation is now centralized. Please make contributions directly toweb-unified-docs, since changes to/websitein this repository will not appear on developer.hashicorp.com. ⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️⚠️
jsondecode Functionjsondecode interprets a given string as JSON, returning a representation
of the result of decoding that string.
The JSON encoding is defined in RFC 7159.
This function maps JSON values to Packer language values in the following way:
| JSON type | Packer type |
|---|---|
| String | string |
| Number | number |
| Boolean | bool |
| Object | object(...) with attribute types determined per this table |
| Array | tuple(...) with element types determined per this table |
| Null | The Packer language null value |
The Packer language automatic type conversion rules mean that you don't usually need to worry about exactly what type is produced for a given value, and can just use the result in an intuitive way.
> jsondecode("{\"hello\": \"world\"}")
{
"hello" = "world"
}
> jsondecode("true")
true
jsonencode performs the opposite operation, encoding
a value as JSON.