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

GitHub Actions多服务器部署时报JsonReader读取JToken错误如何解决

错误根因

你收到的报错说明fromJson()接收到的输入是空值,也就是needs.create-deployment-artifacts.outputs.deployment-matrix没有正确输出JSON内容,不是你的JSON本身语法有问题,是输出传递环节出了问题。

解决方案

  • 首先确认deployment-config.json已经提交到仓库根目录,你可以在Export deployment matrix步骤前加一步执行ls -la,确认工作目录下存在该文件。
  • 替换弃用的::set-output语法,新版GitHub Actions runner已经不再支持该输出方式,改用GITHUB_OUTPUT环境变量写入输出,修改你的Export deployment matrix步骤代码如下:
- name: Export deployment matrix
  id: export-deployment-matrix
  run: |
    # 用jq压缩JSON为单行,避免换行转义问题
    JSON=$(jq -c . ./deployment-config.json)
    JSON="${JSON//'%'/'%25'}"
    JSON="${JSON//$'\n'/'%0A'}"
    JSON="${JSON//$'\r'/'%0D'}"
    echo "deployment-matrix=$JSON" >> $GITHUB_OUTPUT
  • 临时添加调试步骤验证输出:在create-deployment-artifacts job的末尾加一步,打印输出值确认是否正确:
- name: Debug output
  run: echo "${{ steps.export-deployment-matrix.outputs.deployment-matrix }}"
  • 额外注意:你的JSON配置里的服务器IP216.656.30.240是无效IP(IPv4每段最大值为255),当前报错解决后部署时会出现连接失败问题,需要修改为正确的服务器IP。

内容的提问来源于stack exchange,提问作者Isuru

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:48:03