Fn::ToJsonString - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Fn::ToJsonString

Fn::ToJsonString 內部函數會將物件或陣列轉換為其對應的 JSON 字串。

重要

您必須使用AWS::Language擴充功能轉換,才能使用Fn::ToJsonString內建函式。

宣告

JSON

{ "Fn::ToJsonString": Object }
{ "Fn::ToJsonString": Array }

YAML

Fn::ToJsonString: Object
Fn::ToJsonString: Array

參數

Object

要轉換為 JSON 字串的物件。

Array

要轉換為 JSON 字串的陣列。

傳回值

已轉換為 JSON 字串的物件或陣列。

範例

將物件轉換為 JSON 字串

此範例程式碼片段會將傳遞至內部函數的物件轉換為 JSON 字串。

JSON

{ //... "Transform": "AWS::LanguageExtensions" //... "Fn::ToJsonString": { "key1": "value1", "key2": { "Ref": "ParameterName" } } //... }

YAML

Transform: 'AWS::LanguageExtensions' #... Fn::ToJsonString: key1: value1 key2: !Ref ParameterName #...

在這兩個範例中,如果 RefParameterName 解析為 resolvedValue,則函數會解析為下列 JSON 字串:

"{\"key1\":\"value1\",\"key2\":\"resolvedValue\"}"

將陣列轉換為 JSON 字串

此範例程式碼片段會將傳遞至內部函數的陣列轉換為 JSON 字串。

JSON

{ //... "Transform": "AWS::LanguageExtensions" //... "Fn::ToJsonString": [{ "key1": "value1", "key2": { "Ref": "ParameterName" } }] //... }

YAML

Transform: 'AWS::LanguageExtensions' #... Fn::ToJsonString: - key1: value1 key2: !Ref ParameterName #...

在這兩個範例中,如果 RefParameterName 解析為 resolvedValue,則函數會解析為下列 JSON 字串:

"[{\"key1\":\"value1\"},{\"key2\":\"resolvedValue\"}]"

支援的函數

您可以在 Fn::ToJsonString 內部函數或陣列中使用下列函數:

  • Fn::Base64

  • Fn::FindInMap

  • Fn::GetAtt

  • Fn::GetAZs

  • Fn::If

  • Fn::ImportValue

  • Fn::Join

  • Fn::Length

  • Fn::Select

  • Fn::Split

  • Fn::Sub

  • Fn::ToJsonString

  • Ref