如何使用 JQ 连接 json 中的数组

How to concatenate an array in json using JQ

正在尝试合并行。这是来源

{
  "movie_results": [
    {
      "genre_ids": [
        28,
        35,
        80
      ],
      "id": 96,
    }
  ]

这是我的命令行

C:\WINDOWS\system32>curl "https://api.themoviedb.org/3/find/tt0092644?&external_source=imdb_id" | jq -r ".movie_results[] | .id, (.genre_ids | join(\",\"))

我得到以下结果

96
28,35,80

我该怎么做96,28,35,80?顺便说一句,我是在 windows 命令行

上做的

对您的 jq 过滤器稍作调整即可解决问题:

.movie_results[] | [.id, .genre_ids[]] | join(",")

(以上行没有考虑到您的 shell 转义特殊字符的规则。您是否考虑过使用 -f 命令行选项来规避此类问题?)

另一种选择

这是避免在过滤器中使用双引号 (") 的替代方法:

.movie_results[] | [.id] + .genre_ids | @csv