1. ホーム
  2. json

[解決済み] jqを使ったJSON出力からの特定フィールドの抽出

2023-06-25 23:56:46

質問

以下のようなJSONが出力されています。

{
  "example": {
    "sub-example": [
      {
        "name": "123-345",
        "tag" : 100
      },
      {
        "name": "234-456",
        "tag" : 100
      },
      {
        "name": "4a7-a07a5",
        "tag" : 100
      }
    ]
  }
}

3つの"name"フィールドの値を抽出し、3つの変数に格納したいと思います。

私は試しに cat json_file | jq '.["example.sub-example.name"]' を使用して、"name" フィールドの値を抽出しようとしましたが、うまくいきません。

どなたか、jq(または他の方法)を使用してこれを達成する方法を教えていただけませんか?

どのように解決するのですか?

を抽出したいだけなら name フィールドを抽出したいだけなら、探しているコマンドは jq '.example."sub-example" | .[] | .name' . もし名前を配列で管理したいのであれば、全体をラップして jq を角括弧で囲む。