- OpenTofu言語
- 関数
- jsonencode
jsonencode
関数
jsonencode
は、与えられた値をJSON構文を使用して文字列にエンコードします。
JSONエンコーディングはRFC 7159で定義されています。
この関数は、OpenTofu言語の値を以下の方法でJSON値にマッピングします。
OpenTofu型 | JSON型 |
---|---|
string | String |
number | Number |
bool | Bool |
list(...) | Array |
set(...) | Array |
tuple(...) | Array |
map(...) | Object |
object(...) | Object |
Null値 | null |
JSON形式ではOpenTofu言語のすべての型を完全に表現できないため、jsonencode
の結果をjsondecode
に渡しても、同一の値は生成されません。しかし、自動的な型変換ルールにより、実際には問題になることはほとんどありません。
文字列をエンコードする場合、この関数はUnicodeエスケープシーケンスを使用して一部の文字をエスケープします。具体的には、<
、>
、&
、U+2028
、U+2029
をそれぞれ\u003c
、\u003e
、\u0026
、\u2028
、\u2029
に置き換えます。
jsonencode
コマンドは、入力の縮小表現を出力します。
例
> jsonencode({"hello"="world"})
{"hello":"world"}
関連関数
jsondecode
は逆の操作を行い、JSON文字列をデコードしてその表現された値を取得します。