위키득계정 ↗
기술

JSONata

JSONata기술
주요 대상
JSON
주요 역할
질의와 자료 변환
경로 개념의 영향
XPath 3.1
확장 방식
사용자 정의 함수
JSONata는 JSON 자료를 질의하고 새로운 구조로 변환하는 언어다. 경로로 값을 찾고 연산과 함수로 가공한 다음 객체나 배열 형태의 결과를 만들며 XPath의 위치 경로 개념에서 영향을 받았다.

경로를 따라 필요한 값 찾기

객체의 필드 이름을 점으로 이어 중첩된 값에 접근한다. 경로에 맞는 여러 값을 선택할 수 있으며 자료에 없는 필드를 만났다고 해서 조회 오류를 내지는 않는다. 값이 없는 결과와 명시적인 JSON null은 구분된다.

추출한 값을 결과 구조로 바꾸기

선택한 값에 숫자나 문자열 등의 연산과 내장 함수를 적용할 수 있다. 가공한 결과를 배열이나 객체 생성식에 담아 입력과 다른 구조로 만든다. 경로 중간에서 배열을 새로 만들면 여러 결과를 어떤 단위로 묶을지도 표현할 수 있다.

표현식과 함수를 결합하기

기본 제공 연산자와 함수로 자료를 조작하고 결합하며 사용자 정의 함수로 반복되는 계산을 표현한다. 주 구현은 JavaScript이며 다른 언어의 구현도 있다. 구현마다 지원하는 언어 버전이 다를 수 있으므로 같은 이름만으로 모든 기능의 호환을 전제할 수는 없다.

관련 문서

JMESPath / JSONPath / XPath / jq / JSON / 배열