# GitHub Actions 中如何使用 fromJSON() 进行类型转换

在 GitHub Actions 的工作流和动作中,表达式支持使用布尔、数字、字符串等数据类型。然而,GitHub 在执行表达式时会将数据视为字符串,若需进行数值比较或类型转换(如将环境变量的字符串'3'转换为整数 3),应使用 `fromJSON()` 函数。

## 核心功能:从字符串到数值或布尔值的转换

`fromJSON()` 函数的主要作用是将 JSON 格式的数据(包括字符串、布尔值、数字、null、数组和对象)转换为对应的 JavaScript/JSON 数据类型。这在处理环境变量或作业输出时尤为关键,因为这些变量在上下文中通常以字符串形式存在。

### 1. 将字符串转换为整数

当需要设置超时时间等数值参数时,必须确保传入的是数字类型而非字符串。

**示例:**
```yaml
env:
time: "3" # 环境变量存储为字符串
jobs:
job1:
runs-on: ubuntu-latest
steps:
- timeout-minutes: ${{ fromJSON(env.time) }} # 转换为整数 3
run: echo "Running for 3 minutes"
```

### 2. 将字符串转换为布尔值

某些条件判断(如 `continue-on-error`)需要布尔类型。如果环境变量存储的是字符串形式的 `

信息来源