JSON Lines

FSA·2023년 11월 30일
0

cs

목록 보기
1/2

쉽게 설명하기

  • JSON Lines는 텍스트 파일 형식으로, 데이터를 줄마다 저장합니다.
  • 이 형식은 데이터를 한 줄씩 처리하기 쉽게 해줘서, 특히 로그 파일이나 다른 프로그램들 사이에서 데이터를 주고받을 때 유용합니다.
  • JSON Lines를 사용할 때 지켜야 할 세 가지 주요 규칙이 있어요:
  • UTF-8 인코딩 사용:
    • 이는 텍스트가 컴퓨터에 저장되고 읽히는 방식을 말해요. UTF-8을 사용하면, 다양한 언어와 특수 문자를 제대로 표시할 수 있어요.
  • 각 줄은 유효한 JSON 값이어야 함:
    • JSON은 데이터를 저장하는 방식 중 하나예요. 각 줄은 독립적인 데이터 조각(예를 들면, 숫자, 문자, 객체, 배열 등)을 담고 있어야 해요.
  • 줄 구분자는 '\n' 사용:
    • 이는 각 줄이 새로운 줄로 시작한다는 걸 의미해요. 컴퓨터는 이 줄 구분자를 보고 데이터가 어디서 끝나고 다음 줄이 어디서 시작하는지 알 수 있어요.

  • 간단히 말해서, JSON Lines는 데이터를 줄별로 나눠 저장하는 간단하면서도 효율적인 방법이에요. 이 형식은 특히 프로그래밍에서 데이터를 다룰 때 유용합니다.

  • JSON Lines는 한 번에 하나의 레코드를 처리할 수 있는 구조화된 데이터를 저장하기에 편리한 포맷
  • 이는 유닉스 스타일의 텍스트 처리 도구와 쉘 파이프라인과 잘 작동
  • 로그 파일을 위한 훌륭한 포맷
  • 또한 협력하는 프로세스 간에 메시지를 전달하는 유연한 포맷

JSON Lines 포맷은 세 가지 요구 사항이 있습니다:

  1. UTF-8 인코딩
  • JSON은 유니코드 문자열을 오직 ASCII 이스케이프 시퀀스로 인코딩할 수 있지만, 이러한 이스케이프는 텍스트 편집기에서 볼 때 읽기 어려울 수 있습니다.
  • JSON Lines 파일의 저자는 일반 ASCII 파일로 작업하기 위해 문자를 이스케이프할 수 있습니다.
  • UTF-8이 아닌 다른 인코딩은 UTF-8으로 디코딩했을 때 유효하지 않을 가능성이 매우 낮으므로 JSON Lines 파일에서 문자를 잘못 해석할 확률은 낮습니다.

  1. 각 줄은 유효한 JSON 값이어야 합니다
  • 가장 흔한 값은 객체나 배열일 것이지만, 모든 JSON 값이 허용됩니다.
  • JSON 값에 대한 자세한 정보는 json.org를 참조하세요.

  1. 줄 구분자는 '\n'입니다
  • 이는 '\r\n'도 지원된다는 의미이며, JSON 값 파싱 시 주변의 공백은 암시적으로 무시됩니다.
  • 파일의 마지막 문자가 줄 구분자일 수 있으며, 줄 구분자가 없는 것과 동일하게 처리됩니다.

  1. 권장 사항
  • JSON Lines 파일은 파일 확장자 .jsonl로 저장될 수 있습니다.
  • 공간 절약을 위해 gzip이나 bzip2와 같은 스트림 압축기를 사용하는 것이 좋으며, 결과적으로 .jsonl.gz 또는 .jsonl.bz2 파일이 됩니다.
  • MIME 타입은 application/jsonl일 수 있지만, 이는 아직 표준화되지 않았습니다; RFC 작성에 도움이 필요합니다(문제 참조).
  • 텍스트 편집 프로그램은 텍스트 파일의 첫 번째 줄을 "1번 줄"이라고 합니다. JSON Lines 파일의 첫 번째 값도 "값 1"이라고 불러야 합니다.
profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글