You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions中如何用变量存储的键访问fromJSON字典值?

在GitHub Actions中通过变量键访问JSON字典值

要在GitHub Actions中通过变量动态访问JSON字典的键值,你需要使用方括号语法替代点语法,这是表达式解析器支持的动态属性访问方式。

直接修改你的工作流,用以下方式即可实现需求:

name: test fromJSON
on:  workflow_dispatch
env:
  myjson: '{"foo1" : "bar1", "foo2": "bar2"}'
  var_foo: 'foo2'
jobs:
  job1:
    runs-on: self-hosted
    steps:
      # 正确的动态访问方式:方括号包裹变量
      - run: echo ${{ fromjson(env.myjson)[env.var_foo] }}

为什么你之前的尝试无效?

  • .env.var_foo:这种写法是尝试访问JSON里名为env.var_foo的键,而非读取环境变量var_foo的值作为键
  • 嵌套${{}}:GitHub Actions不支持表达式嵌套,fromjson(env.myjson).${{ env.var_foo }}属于语法错误,直接破坏工作流
  • 使用format函数:format用于格式化字符串,不能用来拼接表达式的属性访问路径,表达式解析时会优先处理函数,导致路径解析失败

这个方法完全依赖GitHub Actions原生表达式,不需要额外安装yq或其他工具,避免了环境依赖问题。

内容的提问来源于stack exchange,提问作者fakej Gazeta.pl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 13:47:08