我正在使用 jq 从 GitHub 工作流程中的 JSON 中提取数组:
name: Test
on:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Test
run: echo $(echo '{"value":[{"displayName":"test"}]}' | jq -c '.value.[]')
但是,它失败并出现错误
Run echo $(echo '{"value":[{"displayName":"test"}]}' | jq -c '.value.[]')
jq: error: syntax error, unexpected '[', expecting FORMAT or QQSTRING_START (Unix shell quoting issues?) at <top-level>, line 1:
.value.[]
jq: 1 compile error
如果我在本地使用 jq 运行相同的命令,它可以工作 - 为什么它不能在 GitHub 运行器上工作?
您正在使用
.value.[]
; jq 1.7 中添加了对链式 .[]
的支持(请参阅“语言更改”下的发行说明),ubuntu-22.04 Actions 运行器使用 jq 1.6。
您可以使用
.value[]
来修复它。