![jq를 사용하여 JSON을 구문 분석하여 아래 JSON에서 이름을 가져옵니다.](https://linux55.com/image/160920/jq%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20JSON%EC%9D%84%20%EA%B5%AC%EB%AC%B8%20%EB%B6%84%EC%84%9D%ED%95%98%EC%97%AC%20%EC%95%84%EB%9E%98%20JSON%EC%97%90%EC%84%9C%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
[
{
"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
.