Programming/유용한 라이브러리
JsonPath
Albothyl
2020. 4. 3. 22:43
-
JsonPath
- Json String을 Object로 변환하지 않고도 연산자, 함수, 표현식 등의 기능을 수행할 수 있다.
- JsonPath Online Evaluator
- Dependency
-
표현식
- dot 표현식
- $.store.book[0].title
- bracket 표현식
- $[’store’][‘book’][0][’title’]
- dot 표현식
-
연산자
-
연산자
설명
$
루트 노드. 모든 Path 표현식은 이 기호로 시작.
@
처리되고 있는 현재 노드. 필터 조건자(expression)에서 사용.
*
와일드카드. 모든 요소와 매칭.
.
Dot 표현식의 자식노드.
[start:end]
배열 slice 연산자.
[?(<expression>)]
필터 표현식. 필터 조건자가 참인 경우에 매칭되는 모든 요소를 처리.
-
-
함수
- min(), max(), avg(), length() 등을 표현식 마지막에 붙여서 실행할 수 있다.
-
표현식
-
JsonPath 표현식
결과 및 설명.
$..*
전체 요소. (.. 딥 스캔)
$[?('test' in @['tags'])]
tags에 test가 있는 모든 사람들.
$[?(@.age == 20 )]
age가 20인 모든 사람들.
$[0][‘id’]
첫번째 사람의 id.
$[*]['age']
모든 사람들의 나이.
$..[’name’][‘first]
모든 사람들의 이름.
-
-
JsonPath 예제
-
1. parse jsonString DocumentContext documentContext = JsonPath.parse(someJsonString); 2. equal expression documentContext.read("$[?(@._id == '" + someId + "')]"); 3. in expression documentContext.read("$[?('text' in @['tags'])]"); 4. use function documentContext.read("$[0].range.avg()"); 5. mapping object documentContext.read("$", Some.class);
-