- OpenTofu 语言
- 函数
- jsonencode
jsonencode
函数
jsonencode
使用 JSON 语法将给定值编码为字符串。
JSON 编码在 RFC 7159 中定义。
此函数将 OpenTofu 语言值 映射到 JSON 值,方式如下:
OpenTofu 类型 | JSON 类型 |
---|---|
字符串 | 字符串 |
数字 | 数字 |
布尔值 | 布尔值 |
列表(...) | 数组 |
集合(...) | 数组 |
元组(...) | 数组 |
映射(...) | 对象 |
对象(...) | 对象 |
空值 | null |
由于 JSON 格式无法完全表示所有 OpenTofu 语言类型,因此将 jsonencode
的结果传递给 jsondecode
不会产生相同的值,但自动类型转换规则意味着在实践中这很少成为问题。
编码字符串时,此函数使用 Unicode 转义序列转义某些字符:将 <
、>
、&
、U+2028
和 U+2029
分别替换为 \u003c
、\u003e
、\u0026
、\u2028
和 \u2029
。
jsonencode
命令输出输入的最小化表示形式。
示例
> jsonencode({"hello"="world"})
{"hello":"world"}
相关函数
jsondecode
执行相反的操作,即解码 JSON 字符串以获取其表示的值。