관리 메뉴

피터의 개발이야기

[shell] JPATH 사용법 본문

Linux/Shell Script

[shell] JPATH 사용법

기록하는 백앤드개발자 2024. 1. 28. 00:06
반응형

ㅁ 들어가며

ㅇ linux에서 JSON을 가공하여 원하는 결과를 도출할 수 있는 JPATH 사용법을 정리하였다.

ㅇ javascript와 똑같은 사용방식이라 직관적이었다.

ㅁ Object 참조

# sample.json 
{
    "car": {
        "color": "blue",
        "price": "$20,000"
    },
    "bus": {
        "color": "white",
        "price": "$120,000"
    }
}

# JSON 트리 참조 구조 1단
$ cat sample.json | jpath $.car
[
  {
    "color": "blue",
    "price": "$20,000"
  }
]

# JSON 트리 참조 구조 2단
cat sample.json | jpath $.car.price
[
  "$20,000"
]

 ㅇ 점을 기준으로 종족된 정보를 참조하여 결과를 보여준다

ㅁ Array 형태

# sample.json
[
    "car",
    "bus",
    "truck",
    "bike"
]

# Array index 참조
$ cat sample.json | jpath $.[0]
[
  "car"
]

# Array 다중 참조
# 주의 점은 ''를 감싸야 한다. 
$ cat sample.json | jpath '$[0,3]'
[
  "car",
  "bike"
]

 

ㅁ 응용 사용법

# sample.json
{
    "employee": {
        "name": "john",
        "gender": "male",
        "age": 24,
        "address": {
            "city": "edison",
            "state": "new jersey",
            "country": "united states"
        },
        "payslips": [
            {
                "month": "june",
                "amount": 1400
            },
            {
                "month": "july",
                "amount": 2400
            },
            {
                "month": "august",
                "amount": 3400
            }
        ]
    }
}

$cat sample.json | jpath $.employee.payslips[2]
[
  {
    "month": "august",
    "amount": 3400
  }
]

$cat sample.json | jpath $.employee.payslips[2].month
[
  "august"
]

 

ㅁ 함께 보면 좋은 사이트

 ㅇ JSONPath Online Evaluator

 ㅇ JSON을 입력하고 JSONPath를 입력하여 결과과 오른쪽에 나타난다.

반응형
Comments