

这是新的《CloudFormation 模板参考指南》**。请更新您的书签和链接。有关开始使用 CloudFormation 的帮助，请参阅《AWS CloudFormation 用户指南》[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html](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
```

## 参数
<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`