次のJSON形式があります。
{
"page":1,
"total_results":1,
"total_pages":1,
"results":[
{
"id":6037,
"genre_ids":[35,80,9648,53],
"popularity":11.379
}
]
}
Genre_ids配列はコンマで区切られ、水平間隔にタブを追加しないこの形式を生成する必要があります。
6037 35,80,9648,53 11.379
以下を使用して結果の配列を平面化することができました。
jq -r '.results[0] | [.id,.popularity] | @tsv'
結果:
6037 11.379
しかし、Genre_idsを追加すると:
jq -r '.results[0] | [.id,.genre_ids[],.popularity] | @tsv'
私は得る:
308531 28 12 35 878 10751 32.497
genre_ids
タブ区切りの親要素内で配列をカンマ区切りリストにマージする方法は?
ベストアンサー1
あなたはできますjoin
配列を文字列に変換:
$ jq -r '.results[0] | [.id,(.genre_ids | join(",")),.popularity] | @tsv' < foo.json
6037 35,80,9648,53 11.379