본문 바로가기
K8s/Core Concept

[K8s] JSON Path

by okms1017 2024. 11. 13.
728x90

✍ Posted by Immersive Builder  Seong

 

JSON Path

JSON Path는 JSON 데이터를 파싱하기 위한 쿼리 언어입니다. JSON 구조 내 특정 데이터의 위치를 지정하거나 필터링하여 원하는 값을 추출할 수 있습니다. 특히, JSON 파일이 복잡한 구조로 이루어져 있을 때 유용합니다. 

 

기본 문법 

JSON Path의 주요 문법은 아래와 같습니다. 

 

기호 설명
$ JSON의 최상위 객체인 루트(root)를 의미합니다. 
. 점 표기법을 통해 JSON 객체의 특정 키에 접근합니다. 
[ ] 리스트의 특정 인덱스 또는 모든 항목에 접근합니다.
.. 특정 키를 JSON 구조에서 재귀적으로 검색합니다.
?( ) 필터 조건을 사용하여 특정 값을 필터링합니다.
@ 리스트의 각 항목을 나타냅니다.
* 와일드카드로 모든 항목 또는 키를 선택합니다.

 

활용 예제

다음은 JSON Path를 활용한 데이터 필터링 예제입니다. 필터링 결과 값은 리스트 형태로 반환됩니다. 

 


                {
                    "store": {
                       "book": [
                           { "category": "fiction", "price": 8.95 },
                           { "category": "science", "price": 12.99 }
                       ],
                       "bicycle": { "color": "red", "price": 19.95 }
                    }
                }
 

 

  • $.store.bicycle

                [
                    {
                      "color": "red",
                      "price": 19.95
                    }
                ]
 

 

  • $.store.book[*]

                [
                    {
                      "category": "fiction",
                      "price": 8.95
                    },
                    {
                      "category": "science",
                      "price": 12.99
                    }
                ]
 

 

  • $.store.book[0].category

                [   "fiction"   ]
 

 

  • $..category

                [
                    "fiction",
                    "science"
                ]
 

 

  • $.store.book[?(@.price < 10)]

                [
                    {
                      "category": "fiction",
                      "price": 8.95
                    }
                ]
 

 

  • $.store.book[?(@.category == "science")].price  

                [   12.99   ]
 

 


▶ JSON Path 테스트하기 : https://jsonpath.com/

 

JSONPath Online Evaluator

JSONPath Online Evaluator

jsonpath.com

 

728x90

'K8s > Core Concept' 카테고리의 다른 글

[K8s] Readiness Probes 란?  (0) 2024.11.23
[K8s] 소프트웨어 배포 전략(Software Deployment Strategies)  (0) 2024.11.19
[K8s] CoreDNS 란?  (0) 2024.11.16
[K8s] Helm 이란?  (1) 2024.11.14
[K8s] YAML 이란?  (1) 2024.11.12