jq에서 JSON[] 배열의 값을 가져옵니다.

jq에서 JSON[] 배열의 값을 가져옵니다.

jq를 사용하여 json 출력에서 ​​[key,value] 배열 내부의 값을 가져오는 방법

[[1645128660000,0],[1645128720000,0],[1645128780000,0],[1645128840000,0],[1645128900000,0],[1645128960000,0],[1645129020000,0],[1645129080000,0],[1645129140000,0],[1645129200000,0]]

답변1

나는 이것이 이 내부 목록에 대해 구현하기가 매우 쉽다고 생각합니다. 값이 모두 0으로 나타나므로...

jq  '.[][1]' < yourjsonfile

다른 방법을 제공하십시오. Python은 목록, 사전 및 기타 유형으로 작업할 때 적합한 도구입니다. 목록에서 값을 검색하는 방법을 이해하려면 다음을 수행해야 합니다.

#!/usr/bin/env python

mylist = [[1645128660000,0],[1645128720000,0],[1645128780000,0],[1645128840000,0],[1645128900000,0],[1645128960000,0],[1645129020000,0],[1645129080000,0],[1645129140000,0],[1645129200000,0]]

for k,v in mylist:
    print("Key":,k)
    print("Value":v)

또는 목록 이해를 사용하십시오.

[v for k,v in mylist]

그 정도면 충분합니다. jq를 사용할 수 있는 훌륭한 페이지도 있습니다.https://jqplay.org/#

답변2

입력이 요소의 배열이고 각 요소에 [key, value]정수 키와 값이 있는 것으로 가정하면 다음을 사용하여 특정 키에 대한 값을 추출할 수 있습니다.

mykey=1645128900000
jq --argjson key "$mykey" '.[] | select(first == $key) | last' file

이는 주어진 키를 첫 번째 요소로 가진 모든 배열 항목을 선택한 다음 선택한 각 섹션에서 값(마지막 요소)을 추출합니다.

관련 정보