개요

Json Path 는 Json 객체를 탐색하기 위한 표준화된 방법입니다. XML 내 데이타를 탐색하는 XPath 와 유사하지만 훨씬 간단하고 쉽습니다.


복잡한 구조의 json 데이타를 탐색하려면 꼭 알아두어야 할 지식으로 MySQL 5.7부터 지원하는 Json 컬럼을 다룰때에도 json path 방식을 사용할 수 있습니다.


JSONPath 와 비슷한 JMESPath 라는 새로운 규격이 있습니다.

문법

$ 는 ROOT 를 표시하며 하위 element 에 접근하려면 .ELEMENT_NAME 형식을 사용하면 됩니다.


예로 다음 쿼리는 ROOT 아래에 있는 string 필드의 값(foo) 를 리턴합니다.

$.string 
CODE


.ELEMENT_NAME 형식은 계층적으로 사용할 수 있으며 다음 쿼리는 object attribute 의 property 필드의 값(value) 을 리턴합니다.

$.object.property
CODE


Array 처리

배열의 모든 행을 단일행으로 처리합니다.


아래 쿼리는 array 필드의 값인 1,2,3 을 배열로 리턴합니다.

$.array[0:]
CODE


만약 두번째 요소부터 가져오려면 1 을 사용합니다.

$.array[1:]
CODE


구현 Library

Java

자바의 JSON Path 구현물은 https://github.com/json-path/JsonPath 가 유명한 것 같습니다.

PHP


같이 보기

Ref