jq 数组过滤器在本地工作,但不在 GitHub 工作流程中工作

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

我正在使用 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 运行器上工作?

bash github-actions jq
1个回答
0
投票

您正在使用

.value.[]
; jq 1.7 中添加了对链式
.[]
的支持(请参阅“语言更改”下的发行说明),ubuntu-22.04 Actions 运行器使用 jq 1.6。

您可以使用

.value[]
来修复它。

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