- 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文字列をデコードしてその表現された値を取得します。