위키득계정 ↗
기술

JSON 텍스트 시퀀스

JSON 텍스트 시퀀스기술
명세
RFC 7464
문자 인코딩
UTF-8
기록 시작
RS 바이트 0x1E
미디어 유형
application/json-seq
JSON 텍스트 시퀀스는 여러 JSON 값을 기록 구분 문자로 나누어 전달하는 형식이다. 각 값 앞에 RS 문자를 넣고 뒤에 줄바꿈을 붙여, 길이를 미리 알기 어려운 자료도 순차적으로 만들고 읽을 수 있게 한다.

배열 밖에서 이어지는 기록

여러 값을 하나의 큰 JSON 배열로 감싸는 대신 각 JSON 텍스트 앞에 RS를 둔다. 생성할 때는 값 뒤에 LF를 붙인다. 수신 측은 전체 자료가 도착하기 전에 개별 기록을 처리할 수 있으며 시퀀스 전용 종료 표시는 정의하지 않는다.

줄바꿈과 기록 경계의 차이

기록 시작은 줄바꿈이 아니라 RS로 구분한다. JSON 문자열 속 제어 문자는 이스케이프해야 하므로 실제 RS 바이트를 경계로 사용할 수 있다. 따라서 한 줄마다 값을 넣는 JSON Lines와는 구분 방식이 다르며 JSON 값 안의 서식용 줄바꿈이 곧 새 기록을 뜻하지 않는다.

손상된 기록 다음으로 진행하기

파서는 잘못되거나 잘린 JSON을 만났을 때 다음 RS부터 읽기를 이어갈 수 있다. 응용은 오류를 보고받아 처리를 중단할 수도 있다. 값 뒤의 줄바꿈은 특히 숫자처럼 끝이 모호한 값의 잘림을 감지하는 데 쓰인다. 기록이 누락될 수 있는 상황에서는 순서 번호만으로 원래 위치를 확정할 수 없다.

관련 문서

JSON Lines / JSON / UTF-8 / 데이터 직렬화 / 로그 / 배열