この状況を変える方法:
{
"write": {
"out": 0,
"available": 128,
"totalTickets": 128
},
"read": {
"out": 7,
"available": 249,
"totalTickets": 256
}
}
入力する
0 128 128 7 249 256
jqを使用しますか?
答え1
次のようにJSONツリーを再帰的に下げることもできます。
>jq 'recurse|numbers' data.json
0
128
128
7
249
256
(これはあなたのすべての価値が次のとおりであると仮定します。数字、使用スカラーブールと文字列も必要な場合)
または省略形の表記法を使用してください。再帰今すぐ..
..|numbers
(@cuonglm ありがとうございます!)
ご注意ください地図|方法この方法は、ランダムにネストされたオブジェクトツリーにも適用されます。
例えば
{
"write": {
"out": 0,
"available": 128,
"totalTickets": 128
},
"read": {
"out": 7,
"available": 249,
"totalTickets": 256,
"details" : {
"good": 10,
"bad" : 20
}
}
}
生産します:
0
128
128
7
249
256
10
20
答え2
$ jq 'map(map(values))|flatten|.[]' data.json
0
128
128
7
249
256
最初の部分が作成されます。
[
[
0,
128,
128
],
[
7,
249,
256
]
]
これは次のように平坦化されます。
[
0,
128,
128,
7,
249,
256
]
この値を抽出.[]
します。