이 상황을 바꾸는 방법:
{
"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
]
이 값을 추출 .[]
합니다.