TL;DR
jq の --compact-output / -c
オプションを使うことで、JSON 内の取得した要素を一行にまとめて表示することができる。
実行例
サンプルファイル
$ cat test.json { "country_list": [ "japan", "china", "us" ], "num_list": [ 123, 456, 789 ], "mix_list": [ "red", 456, null, true ], "array_list": [ [ 89, 89 ], [ 46, 49 ], [ 91, 22 ] ], "object_list": [ { "name": "Nick", "age": 18 }, { "name": "Andrew", "age": 49 } ] }
配列( JSONArray )の場合
# オプション無し $ cat test.json | jq .array_list[] [ 89, 89 ] [ 46, 49 ] [ 91, 22 ] # オプション有り $ cat test.json | jq --compact-output .array_list[] [89,89] [46,49] [91,22]
オブジェクト( JSONObject )の場合
$ cat test.json | jq -c .object_list[] {"name":"Nick","age":18} {"name":"Andrew","age":49}
オプションの詳細
--compact-output / -c:
By default, jq pretty-prints JSON output. Using this option will result in more compact output by instead putting each JSON object on a single line.