

這是新的 *CloudFormation 範本參考指南*。請更新您的書籤和連結。如需 CloudFormation 入門的說明，請參閱 [AWS CloudFormation 使用者指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)。

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

# `Fn::ToJsonString`
<a name="intrinsic-function-reference-ToJsonString"></a>

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

**重要**  
您必須使用 [`AWS::LanguageExtensions` 轉換程序](transform-aws-languageextensions.md) 才能使用 `Fn::ToJsonString` 內部函數。

## 宣告
<a name="tojsonstring-declaration"></a>

### JSON
<a name="intrinsic-function-reference-tojsonstring-syntax.json"></a>

```
{ "Fn::ToJsonString": Object }
```

```
{ "Fn::ToJsonString": Array }
```

### YAML
<a name="intrinsic-function-reference-tojsonstring-syntax.yaml"></a>

```
Fn::ToJsonString: Object
```

```
Fn::ToJsonString: Array
```

## Parameters
<a name="tojsonstring-parameters"></a>

`Object`  
要轉換為 JSON 字串的物件。

`Array`  
要轉換為 JSON 字串的陣列。

## 傳回值
<a name="intrinsic-function-reference-tojsonstring-return"></a>

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

## 範例
<a name="intrinsic-function-reference-tojsonstring-examples"></a>

### 將物件轉換為 JSON 字串
<a name="intrinsic-function-reference-tojsonstring-example-subsection"></a>

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

#### JSON
<a name="intrinsic-function-reference-tojsonstring-example.json"></a>

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

#### YAML
<a name="intrinsic-function-reference-tojsonstring-example.yaml"></a>

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

在這兩個範例中，如果 `Ref` 至 `ParameterName` 解析為 `resolvedValue`，則函數會解析為下列 JSON 字串：

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

### 將陣列轉換為 JSON 字串
<a name="intrinsic-function-reference-tojsonstring-example2"></a>

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

#### JSON
<a name="intrinsic-function-reference-tojsonstring-example2.json"></a>

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

#### YAML
<a name="intrinsic-function-reference-tojsonstring-example2.yaml"></a>

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

在這兩個範例中，如果 `Ref` 至 `ParameterName` 解析為 `resolvedValue`，則函數會解析為下列 JSON 字串：

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

## 支援的函數
<a name="tojsonstring-supported-functions"></a>

您可以在 `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`