데이터베이스 및 SQL 도구

DynamoDB JSON 변환

변환 방향과 입력 구조를 고른 뒤 특수 타입을 보존할지 결정하세요.

DynamoDB JSON 변환

입력 JSON

결과 JSON

브라우저 안에서 처리하며 입력을 서버로 보내지 않습니다.

변환 옵션

보존 모드는 사용자 정의 $ddb 표식을 사용합니다. $ddb.M은 표식과 같은 모양의 실제 맵을 이스케이프합니다.

상한: 입력 500,000자, 노드 50,000개, 문서 32단계, 출력 2,000,000자.

결과가 오래되었습니다. 현재 입력을 변환하세요.

DynamoDB JSON 변환은 CLI 응답을 테스트 데이터나 사람이 읽을 수 있는 객체로 바꿀 때 유용합니다. S, N, M 같은 태그를 지우는 것만으로는 숫자와 문자열, 리스트와 집합의 차이를 지킬 수 없습니다. 먼저 항목 맵인지, 항목 배열인지, 단일 속성 값인지 확인하세요.

마샬링은 일반 객체를 속성 값으로 매핑하는 과정입니다. 숫자는 전송할 때 문자열이지만 계산에서는 숫자이며, 리스트는 순서가 있고 집합은 값의 고유성을 요구합니다. 이 DynamoDB JSON 변환기에서는 방향과 구조를 직접 선택하므로 Item이라는 실제 속성 이름도 보존됩니다.

DynamoDB JSON 변환을 사용하는 이유

숫자를 문자열로 바꾸지 않고 보존

DynamoDB JSON 변환은 숫자를 JavaScript Number로 읽지 않습니다. 9007199254740993처럼 큰 정수도 원래 자릿수를 유지한 JSON 숫자로 출력됩니다. 소수의 유효 자릿수와 지수 범위도 십진수 기준으로 검증합니다.

긴 숫자 블록의 순서와 개수가 변환 통로를 지나도 그대로 유지됩니다.

집합과 바이너리의 의미를 남기기

보존 모드는 특수 값에 명시적인 $ddb 표식을 붙입니다. 일반 모드를 고르면 배열과 Base64 문자열을 출력하고 타입이 바뀐 경로를 보여 줍니다. 다른 프로그램에서 읽기 쉬운 구조가 원래 타입까지 복원해 준다는 오해를 피할 수 있습니다.

타입 표식이 있는 집합은 왕복 경로에서 표식을 유지하고 일반 경로에서는 배열로 표시됩니다.

응답의 범위와 결과의 용도부터 선택

01

응답 안의 실제 값을 복사

GetItem 결과에서는 Item의 값을 복사하고 항목 맵을 선택하세요. 쿼리의 Items 배열에는 일괄 모드를 사용합니다. {"N":"42"} 하나만 처리한다면 단일 값입니다. 속성 이름으로 구조를 추측하거나 응답 메타데이터를 자동 삭제하지 않습니다.

02

되돌릴 데이터라면 타입 보존

다시 이 페이지에서 역변환할 계획이면 보존 모드를 유지하세요. 대상 프로그램이 일반 JSON만 받는다면 일반 모드를 선택하고 변경 경로를 모두 확인합니다. 일반 배열은 항상 L, 문자열은 S이며 내용이 비슷해도 집합이나 바이너리로 추측하지 않습니다.

03

내보내기 잠금과 갱신 시점 확인

입력과 옵션이 바뀌면 이전 결과의 복사와 저장이 즉시 잠깁니다. 자동 모드는 350ms 후 갱신됩니다. 자동을 끄면 변환 버튼이나 Ctrl/Cmd + Enter로 실행하세요. 예제와 지우기는 미리 보기를 거치며 실행 취소로 입력과 결과를 함께 복원합니다.

속성 구조 전체를 검증하는 기능

열 가지 타입과 중첩 지원

S, N, B, BOOL, NULL, M, L, SS, NS, BS를 처리합니다. 리스트에는 여러 타입을 섞을 수 있습니다. 빈 문자열, 빈 바이너리, 빈 리스트와 맵은 유지하며 NULL은 필드를 제거하지 않고 null로 바뀝니다.

일괄 결과는 전체가 유효해야 생성

항목 맵 하나 또는 항목 맵의 JSON 배열을 변환합니다. 배열 중 한 항목이라도 잘못되면 내보내기를 막습니다. 실패한 항목을 조용히 건너뛰지 않으며 S, N, Item, Items 같은 실제 속성 이름을 자동 태그로 오해하지 않습니다.

값을 기준으로 집합 중복 검사

숫자의 유효 자릿수는 최대 38자리이며 0이 아닌 값의 범위를 확인합니다. NS의 1과 1.0은 중복입니다. 문자열 집합은 문자열로, 바이너리 집합은 디코딩한 바이트로 비교합니다. 빈 집합과 중복 값은 오류이며 정렬이나 중복 제거를 대신 하지 않습니다.

오류 위치와 변경 경로 표시

문법 및 타입 오류는 경로, 행, 열로 안내하고 편집기의 해당 행을 강조합니다. 일반 출력에서 바뀐 특수 타입은 50개씩 펼쳐 볼 수 있습니다. 복사와 JSON 다운로드에는 화면에 보이는 행 수와 관계없이 최신 결과 전체가 담깁니다.

표현 형식에 따라 달라지는 의미

표식은 이 도구만의 약속
보존 모드는 값 위치에 {"$ddb":{"SS":["red"]}}를 사용하며 B, NS, BS도 같습니다. 실제 맵에 $ddb 키만 있으면 원래 속성 맵을 $ddb.M으로 감싸 충돌을 피합니다. AWS 전송 형식이 아니므로 속성 값 데이터를 보낼 때는 역변환해야 합니다.
일반 JSON은 원래 타입을 추측하지 않음
배열만 보고 L, SS, NS, BS를 구분할 수 없고 Base64처럼 보이는 문자열도 B라고 단정할 수 없습니다. 일반 모드는 이러한 변경을 표시하며 역변환 시 L과 S를 생성합니다. 이때 $ddb는 특별한 표식이 아닌 일반 객체 키입니다.
출력 다음 단계에서도 정밀도 확인
출력 숫자 텍스트는 정확하지만 다른 프로그램의 JavaScript JSON.parse는 큰 정수를 반올림할 수 있습니다. 유효 숫자는 38자리까지, 0이 아닌 절댓값은 1e-130부터 1e126 미만의 최대 38자리 값까지입니다. N의 비표준 JSON 숫자 표기는 십진수로 정확히 정규화됩니다.
엄격한 문법과 명시적인 처리 상한
입력은 UTF-16 코드 단위 500,000개 및 구문 노드 50,000개, 문서 컨테이너는 32단계, 출력은 2,000,000자로 제한합니다. 중복 키, 빈 집합, 집합 중복, 잘못된 Base64와 단독 서로게이트는 오류입니다. 데이터를 잘라서 성공으로 처리하지 않습니다.
테이블 쓰기 가능 여부는 별도 검증
Item, Items, Streams를 자동으로 풀지 않으며 JSONL이나 S3 내보내기 행은 직접 받지 않습니다. AWS 연결, URL 읽기, 업로드와 쓰기는 없습니다. 테이블 키, 인덱스, 실제 400KB 저장 크기도 검증하지 않습니다. 비키 속성에서 허용되는 빈 값이 키에서는 거부될 수 있습니다.

DynamoDB JSON 변환 질문과 답변

DynamoDB JSON을 일반 JSON 객체로 변환하려면 어떻게 하나요?

DynamoDB → JSON과 항목 맵을 선택하고 각 속성에 타입 태그가 붙은 객체를 넣으세요. {"S":"text"} 하나만 바꾸려면 단일 값을 선택합니다. JSON으로 직접 표현할 수 없는 집합과 바이너리에는 보존 모드에서 표식이 남습니다.

큰 숫자가 문자열로 바뀌는 이유는 무엇인가요?

일부 변환기는 부동소수점 반올림을 피하려고 큰 수를 따옴표로 감쌉니다. 여기서는 숫자의 원래 토큰을 유지하고 십진수로 검증하므로 따옴표 없는 숫자로 남습니다. 받는 프로그램도 큰 수의 정밀도를 보존할 수 있는 파서를 사용해야 합니다.

세트와 바이너리 값도 변환할 수 있나요?

지원합니다. 기본적으로 B, SS, NS, BS를 검증하고 타입 표식을 유지합니다. 일반 JSON을 선택하면 문자열이나 배열로 바뀌고 모든 변경 경로를 표시합니다. 그 일반 결과만으로는 역변환해도 원래 특수 타입을 알 수 없습니다.

테이블 전체의 내보내기 데이터를 변환할 수 있나요?

상한 이내의 항목 맵 배열은 일괄 모드에서 처리할 수 있습니다. AWS S3 내보내기는 보통 Item으로 감싼 JSONL이라 바로 입력할 수 없습니다. 필요한 항목을 적절한 크기의 배열로 먼저 정리하세요. 한 항목의 오류도 전체 변환을 중단합니다.

AWS CLI 쿼리 결과의 DynamoDB JSON을 간단히 표시하려면 어떻게 하나요?

CLI 응답에서 Item 값이나 Items 배열을 복사한 뒤 맞는 구조를 선택하세요. 메타데이터 제거와 필드 선택은 자동으로 하지 않습니다. 저수준 요청에 필요한 태그 데이터를 만들려면 JSON → DynamoDB 방향으로 일반 객체를 변환하면 됩니다.

타입 처리에 궁금한 점이 있나요?

먼저 예제로 타입 확인

DynamoDB JSON 변환에서 여러 타입이 섞인 예제를 살펴본 다음, 다음 프로그램이 받을 수 있는 표현을 선택하세요.