我有下面的代码来读取 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": {'
请问有什么帮助吗?
我相信这可能是因为您的 JSON 的多行格式很好。
GitHub 输出期望 JSON 位于一行上。
如果删除换行符,应该会停止错误。
来源:我只需为我的工作流程执行此操作