Mainly redefine or reused what Terraform did. * allow to used `variables`, `variable` and `local` blocks * import the following functions and their docs from Terraform: abs, abspath, basename, base64decode, base64encode, bcrypt, can, ceil, chomp, chunklist, cidrhost, cidrnetmask, cidrsubnet, cidrsubnets, coalesce, coalescelist, compact, concat, contains, convert, csvdecode, dirname, distinct, element, file, fileexists, fileset, flatten, floor, format, formatdate, formatlist, indent, index, join, jsondecode, jsonencode, keys, length, log, lookup, lower, max, md5, merge, min, parseint, pathexpand, pow, range, reverse, rsadecrypt, setintersection, setproduct, setunion, sha1, sha256, sha512, signum, slice, sort, split, strrev, substr, timestamp, timeadd, title, trim, trimprefix, trimspace, trimsuffix, try, upper, urlencode, uuidv4, uuidv5, values, yamldecode, yamlencode, zipmap.
1.6 KiB
1.6 KiB
layout, page_title, sidebar_current, description
layout | page_title | sidebar_current | description |
---|---|---|---|
docs | jsondecode - Functions - Configuration Language | configuration-functions-encoding-jsondecode | The jsondecode function decodes a JSON string into a representation of its value. |
jsondecode
Function
jsondecode
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.
Examples
> jsondecode("{\"hello\": \"world\"}")
{
"hello" = "world"
}
> jsondecode("true")
true
Related Functions
jsonencode
performs the opposite operation, encoding a value as JSON.