Egorae

JSON 내보내기 파일, 괄호보다 값의 의미부터 확인하세요

자작 JSON 두 메모로 항목 수·줄바꿈·빈 값·누락 필드를 대조하는 읽기 연습.

목차
양식 바로가기

노트 앱에서 받은 JSON이 복잡해 보여도, 괄호를 지우거나 스프레드시트로 바로 바꾸지 마세요. 자료가 들어 있는 목록을 찾고, 원본의 값과 읽은 결과를 나란히 대조하는 것이 먼저입니다. 이 글은 작은 내보내기 파일의 구조를 읽는 연습이며 손상 파일 복구나 특정 앱의 가져오기 성공을 보장하지 않습니다.

연습 파일에서 메모 두 개 찾기

자작 JSON 파일 받기. 특정 서비스에서 내보낸 실제 사용자 자료가 아닙니다. 내려받은 원본을 보존하고 복사본을 텍스트 편집기의 읽기 화면으로 엽니다. 개인정보가 있는 본인 파일을 온라인 변환 사이트에 붙여 넣을 필요는 없습니다.

첫 줄의 큰괄호 안에는 format과 items가 있습니다. 여기서 메모 목록으로 정한 것은 items입니다. format은 이 연습 자료의 형식 이름일 뿐 메모 한 개가 아닙니다. items 안에서 note-01, note-02 두 식별자를 찾아보세요. 파일의 줄 수나 최상위 필드 수를 메모 수로 세지 않습니다.

RFC 8259는 객체와 배열을 구분합니다. 객체는 이름과 값의 묶음이고 배열은 순서 있는 값 목록입니다. 어느 배열이 실제 기록을 뜻하는지는 제품의 내보내기 설명이나 파일의 구조로 별도 확인해야 합니다. 배열을 발견했다는 이유만으로 모든 JSON을 같은 노트 형식으로 취급하지 마세요. JSON 표준.

빈 값과 누락을 구분하기

이 파일의 대조 기준은 아래와 같습니다. 숫자는 실제 서비스의 통계가 아니라 제공한 자작 입력의 값입니다.

항목 파일에서 확인할 값 구별할 것
items의 기록 수 2개 최상위 필드 수가 아님
note-01 body 첫째 줄과 둘째 줄, 사이에 줄바꿈 원문 표기의 역슬래시+n과 해석한 줄바꿈
note-01 attachment_count 숫자 0 빈칸이나 미확인 값이 아님
note-01 reviewed 논리값 false 문자열 false가 아님
note-01 review_date null 필드가 존재하며 null이라는 값이 있음
note-02 body 빈 문자열 필드는 있지만 내용 길이는 0
note-02 review_date 필드 없음 null로 채웠다고 가정하지 않음

이 연습에서 reviewed는 가상의 검토 상태로 정한 필드입니다. 다른 앱의 같은 이름이 같은 업무 의미라고 추측하지 마세요. null도 JSON 안의 값일 뿐, 실제 업무에서 ‘미확인’인지 ‘적용하지 않음’인지는 내보내기 명세가 설명해야 합니다.

body 안의 역슬래시+n은 JSON 문자열에서 줄바꿈을 표현하는 표기입니다. 텍스트 편집기에서 두 글자가 보이는 것과 JSON을 해석한 화면에서 줄이 나뉘는 것은 다른 관찰입니다. 원본 파일의 모든 역슬래시를 지워 모양을 고치면 문자열 의미를 바꿀 수 있습니다.

직접 대조하는 순서

  1. items 안의 식별자를 적습니다. 이 파일에서는 note-01, note-02입니다.
  2. 첫 번째 본문의 두 줄과 두 번째 본문의 빈 문자열을 구분합니다. 빈 본문이 있다고 파일 전체가 비었다고 판단하지 않습니다.
  3. 첨부 수 0과 1을 적습니다. 숫자 1은 이 예제의 메타데이터일 뿐 실제 첨부 파일이 들어 있다는 증거가 아닙니다.
  4. review_date가 있는 기록과 없는 기록을 구분해 적습니다. 공란으로 통일하지 않습니다.
  5. 다른 도구로 읽었다면 위 표와 실제 결과를 비교합니다. 값이 다르면 변환 결과를 새 원본으로 삼지 말고 최초 파일로 돌아갑니다.

Egorae는 2026-10-20 제공 파일을 Python 3.14의 표준 JSON 판독기로 읽어 위 항목을 대조했습니다. 두 식별자·본문 줄바꿈·빈 문자열·0·false·null·누락 필드의 구분을 자동 검사했습니다. 이는 작은 예제의 값 검사이며 모든 서비스의 JSON 형식이나 가져오기 기능을 실험한 결과는 아닙니다.

‘열린다’와 ‘복원이 된다’는 다릅니다

파일을 해석할 수 있어도 대상 앱이 요구하는 필드·버전·첨부 구조가 맞는지는 별도입니다. 모르는 필드를 지우거나 날짜를 임의로 채워 가져오기를 통과시키는 것은 이 연습의 목표가 아닙니다. 제품이 요구하는 형식을 확인하지 못했다면 변환을 보류합니다.

또한 판독기 하나가 읽었다고 모든 문제를 검사한 것은 아닙니다. Python의 기본 JSON 처리는 같은 객체에 이름이 반복되면 마지막 값을 사용하며, 일부 비표준 숫자도 받아들입니다. 원본에 같은 이름이 반복된다면 결과 한 칸만 보고 어느 값이 맞는지 결정하지 않습니다. Python의 호환성 설명을 확인하고 생성한 서비스에 형식을 문의하세요.

신뢰하지 않는 파일이나 큰 파일을 무조건 열지 마세요. 여기서는 제공한 작은 예제만 다루며, 임의 파일을 실행 코드로 읽는 방식은 사용하지 않습니다. 원본을 고쳐야 하는 단계와 원본이 어떤 값인지 읽는 단계는 분리합니다.

확인 기록 남기기

원본 파일 / 생성한 서비스·형식 설명:
기록 목록의 위치 / 예상 기록 수:
확인한 식별자:
줄바꿈·빈 문자열·0·false·null·누락의 구분:
첨부가 실제 파일인지 메타데이터인지:
읽은 도구 / 원본과 다른 값:
확인하지 못한 필드 / 다음 질문:

표로 바꿀 때 식별자와 날짜가 달라지는 문제는 CSV 가져오기 대조에서 따로 다룹니다. 실제 기록 이전의 완료 여부는 백업 대조 가이드처럼 본문·첨부·링크까지 확인해야 합니다. JSON이 열렸다는 한 가지 결과로 원본 삭제를 결정하지 마세요.

확인한 자료