如何将 JSON 对象分配为 github 操作输出变量

问题描述 投票:0回答:1

我有下面的代码来读取 JSON 并获取 json 中的数组元素并将其分配给 github 输出变量

{
  "appname": "apple",
  "category": "fruit",
  "test": [
    {
      "workdir": "work1",
      "tesdir": "test1",
      "setdata": {
        "set1": "value1",
        "set2": "value2"
      }
     },
     {
      "workdir": "work2",
      "tesdir": "test2",
      "setdata": {
        "set1": "value3",
        "set2": "value4"
      }
   }
  ]
}
$objects = @()          
          for ($i = 0; $i -lt $json.test.Count; $i++) {                  
            $object = [PSCustomObject]@{
             "build$($i + 1)" = $json.test[$i]    
             }
            $jsonObjects = $object | ConvertTo-Json -Depth 3
             switch ( $($i + 1))
            {
              1 { echo "build1=$jsonObjects" >>  $env:GITHUB_OUTPUT}
              2 { echo "build2=$jsonObjects" >>  $env:GITHUB_OUTPUT }           
            }
          }  

但我收到错误

Error: Unable to process file command 'output' successfully.
Error: Invalid format '    "build_dir1":  {'

请问有什么帮助吗?

github-actions
1个回答
0
投票

我相信这可能是因为您的 JSON 的多行格式很好。

GitHub 输出期望 JSON 位于一行上。

如果删除换行符,应该会停止错误。

来源:我只需为我的工作流程执行此操作

© www.soinside.com 2019 - 2024. All rights reserved.