나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-12-31 23:42:54

JSON Patch


1. 개요2. 구조
2.1. 연산별 상세
3. 관련 문서

1. 개요

주어진 JSON 문서를 순차적으로 수정하는 편집 데이터를 표현하는 형식이다.

RFC 6902RFC 표준으로 등록되어 있다.[1] JSON Pointer와 관련성이 깊은데, RFC 등록 번호가 바로 다음 순서이며 양쪽 스펙 모두 Paul Bryan과 Mark Nottingham이 참여했다.

JSON 데이터를 수정하는 다양한 환경에서 사용될 수 있다. 가령 JSON을 주고받는 HTTP API에서 PATCH 메서드 등을 통해 서버에 저장된 큰 값의 일부를 수정하는 등의 용도로 사용될 수 있다. 이런 경우 MIME 타입은 application/json-patch+json를 사용한다.

2. 구조

JSON Patch 형식 자체도 JSON 형식으로 되어 있으며, 기본적으로 각각의 수정 데이터를 담고 있는 하나의 큰 배열이다. 이 때 각각의 수정 데이터를 operation이라고 하며, 편의상 연산으로 번역한다. 각 연산은 JSON 객체 형식으로, "op" 값으로 종류를 구분한다. 가령 add 연산이면
{ "op": "add", "path": "/a/b/c", "value": "value" }
처럼 주어지는 식이다. 구체적으로, 각각의 연산은 다음 키를 가지는 JSON 객체이다.
의미
"op" 해당 연산의 종류
"path" 대상 JSON에서 해당 연산이 수행될 위치. JSON Pointer 형식으로 나타낸다.

2.1. 연산별 상세

3. 관련 문서


[1] P. C. Bryan and M. Nottingham, “JavaScript Object Notation (JSON) Patch.” RFC Editor, Apr. 2013. doi: 10.17487/RFC6902.