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.

관련 정보