티스토리 뷰

Programming/유용한 라이브러리

JsonPath

Albothyl 2020. 4. 3. 22:43
  • JsonPath

  • 표현식

    • dot 표현식
      • $.store.book[0].title
    • bracket 표현식
      • $[’store’][‘book’][0][’title’]
  • 연산자

    • 연산자

      설명

      $

      루트 노드. 모든 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);

'Programming > 유용한 라이브러리' 카테고리의 다른 글

Typesafe Config  (1) 2020.04.24
JsonPath + Template Engine  (0) 2020.04.11
MapStruct  (0) 2019.08.30
Guava AsyncEventBus  (0) 2019.02.07
Guava  (0) 2019.02.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함