以下のjsonファイルからjqコマンドで情報を取得する方法をご紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[root ~]# cat test2.json [ { "kamotora": { "kamo": [ { "a": "A1", "b": "B2" }, { "a2": "AA2", "b2": "BB2", "c2": "CC3" } ], "tora": [ { "a": "A1", "b": "B2" } ] } } ] [root ~]# |
「kamotora」配下の「kamo」の情報のうち、1つ目の情報を取得します。
以下のように「-c」オプションを使用し、取得したい情報であるkamotoraの前に「.」と配列を表す「[]」をつけます。さらに取得したい情報であるkamoの前に「.」と配列を表す「[]」をつけます。さらに「[]」をつけ、その中に配列の1つ目をあらわす「0」をいれます。
1 2 3 |
[root ~]# cat test2.json | jq -c ".[].kamotora.kamo[0]" {"a":"A1","b":"B2"} [root ~]# |
同様に、「[]」の中を配列の2つ目の数字を表す「1」を入れると、2つ目の情報を取得できます。
1 2 3 |
# cat test2.json | jq -c ".[].kamotora.kamo[1]" {"a2":"AA2","b2":"BB2","c2":"CC3"} # |