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

これは、指定されたキーを最初の要素として持つすべての配列項目を選択し、選択した各セクションから値(最後の要素)を抽出します。

関連情報