packer-cn/website/pages/docs/from-1.5/functions/encoding/jsonencode.mdx

46 lines
1.3 KiB
Plaintext

---
layout: docs
page_title: jsonencode - Functions - Configuration Language
sidebar_title: jsonencode
description: The jsonencode function encodes a given value as a JSON string.
---
# `jsonencode` Function
`jsonencode` encodes a given value to a string using JSON syntax.
The JSON encoding is defined in [RFC 7159](https://tools.ietf.org/html/rfc7159).
This function maps
[Packer language values](/docs/from-1.5/expressions#types-and-values)
to JSON values in the following way:
| Packer 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 Packer 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.
## Examples
```shell-session
> jsonencode({"hello"="world"})
{"hello":"world"}
```
## Related Functions
- [`jsondecode`](/docs/from-1.5/functions/encoding/jsondecode) performs the opposite operation, _decoding_
a JSON string to obtain its represented value.