本文へスキップ

jsonencode 関数

jsonencode は、与えられた値をJSON構文を使用して文字列にエンコードします。

JSONエンコーディングはRFC 7159で定義されています。

この関数は、OpenTofu言語の値を以下の方法でJSON値にマッピングします。

OpenTofu型JSON型
stringString
numberNumber
boolBool
list(...)Array
set(...)Array
tuple(...)Array
map(...)Object
object(...)Object
Null値null

JSON形式ではOpenTofu言語のすべての型を完全に表現できないため、jsonencodeの結果をjsondecodeに渡しても、同一の値は生成されません。しかし、自動的な型変換ルールにより、実際には問題になることはほとんどありません。

文字列をエンコードする場合、この関数はUnicodeエスケープシーケンスを使用して一部の文字をエスケープします。具体的には、<>&U+2028U+2029をそれぞれ\u003c\u003e\u0026\u2028\u2029に置き換えます。

jsonencodeコマンドは、入力の縮小表現を出力します。

コードブロック
> jsonencode({"hello"="world"})
{"hello":"world"}
  • jsondecodeは逆の操作を行い、JSON文字列をデコードしてその表現された値を取得します。