如何使用 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
正在尝试合并行。这是来源
{
"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