jqを使用してJSONを解析し、以下のJSONから名前を取得します。

jqを使用してJSONを解析し、以下のJSONから名前を取得します。
[
  {
    "firstname": "Alexander",
    "lastname": "Smith",
    "middlename": "Johnson",
    "birthyear": 1918,
    "deathyear": 1955,
    "gender": "M",
    "city": "Madison",
    "state": "Wisconsin"
  },
  {
    "firstname": "Lucy Jo Mary",
    "lastname": "Carrie-Paulson",
    "birthyear": 1967,
    "deathyear": null,
    "gender": "F",
    "city": "Omaha",
    "state": "Nebraska"
  },
  {
    "firstname": "Jeremiah",
    "lastname": "Springfield, Jr.",
    "middlename": "Jebediah",
    "birthyear": 1942,
    "deathyear": 2003,
    "gender": "M",
    "city": "Kalamazoo",
    "state": "Michigan"
  }
]

入手方法名前ユーザーのジャック上記のjsonにない場合中間名その中に存在しますか?

出力:ルシゾマリ

ベストアンサー1

jq -r '.[]|select(.middlename|not).firstname'

middlenameこれにより、属性が存在しないかmiddlenameブールな属性を持たない項目の名前が提供されますfalse

jq -r '.[]|select(has("middlename")|not).firstname'

いいえを提供しますmiddlename

おすすめ記事