Инструменты для баз данных и 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 или Items не принимается за оболочку ответа и не исчезает при обработке.

DynamoDB в JSON с сохранением смысла

Числовые разряды без промежуточного округления

DynamoDB в JSON работает с числовыми токенами, не переводя их в JavaScript Number. Значение 9007199254740993 остаётся числом без кавычек и с теми же цифрами. Точность десятичной дроби и порядок проверяются без арифметики с плавающей точкой.

Длинная последовательность цветных числовых блоков проходит через преобразование без изменений.

Информация для обратного преобразования

Режим сохранения помечает множества и двоичные значения маркерами $ddb. Обычный JSON содержит массивы и строки Base64, а список путей показывает изменения типов. Можно выбрать представление для следующей программы, понимая, какие сведения из него уже нельзя восстановить.

На обратимом пути множество сохраняет значок типа, а на обычном пути превращается в массив без значка.

Сначала выделите данные, затем выберите формат

01

Возьмите значение внутри ответа

Для GetItem скопируйте содержимое Item и выберите запись. Для массива Items из запроса нужен пакетный режим. Отдельный {"N":"42"} обрабатывается как одиночное значение. Инструмент не определяет структуру по имени ключа и не удаляет метаданные ответа.

02

Решите, нужны ли исходные типы

Если планируется обратное преобразование здесь, оставьте сохранение типов. Для программы, ожидающей обычный JSON, проверьте все указанные пути изменений. При обратной обработке обычный массив становится L, строка — S. Сходство содержимого с Base64 или множеством ничего не меняет.

03

Дождитесь актуального результата

Изменение текста или настроек сразу блокирует экспорт прежнего результата. Автоматический режим ждёт 350 мс; вручную можно нажать кнопку или Ctrl/Cmd + Enter. Пример и очистка требуют предварительного просмотра. Отмена изменения восстанавливает вход, выход и их прежнее состояние.

Проверка всей структуры атрибутов

Все десять дескрипторов

Поддерживаются S, N, B, BOOL, NULL, M, L, SS, NS и BS, включая вложенные значения. Список может содержать разные типы. Пустые строки, двоичные значения, списки и карты сохраняются. NULL превращается в null, а не удаляет свойство из записи.

Пакет без пропуска ошибочных записей

Массив карт атрибутов обрабатывается целиком. Ошибка в одном элементе запрещает экспорт всего результата, а не исключает проблемную запись. Настоящие имена S, N, Item и Items остаются именами благодаря явному выбору структуры.

Проверка множеств по значениям

Для чисел проверяются 38 значащих цифр и допустимый порядок. В NS числа 1 и 1.0 считаются повтором. SS сравнивает строки, BS — декодированные байты. Пустое множество и повторяющиеся значения вызывают ошибку, без скрытого удаления повторов или сортировки.

Точная диагностика и полный экспорт

Ошибка содержит путь, строку и столбец; соответствующая строка подсвечивается в редакторе. Изменения специальных типов выводятся группами по 50 путей. Копирование и загрузка JSON всегда содержат полный актуальный результат, независимо от видимой части списка.

Границы формата и проверки

Маркеры принадлежат этому инструменту
Режим сохранения использует {"$ddb":{"SS":["red"]}} и аналоги B, NS, BS в позициях значений. Настоящая карта с единственным ключом $ddb экранируется через $ddb.M с исходной картой атрибутов. Это не формат AWS: перед отправкой AttributeValue нужно обратное преобразование.
Обычный массив не хранит тип множества
По массиву нельзя отличить L, SS, NS и BS, а похожая на Base64 строка не доказывает тип B. Обычный режим перечисляет изменения и при обратной обработке создаёт L и S. В этом режиме $ddb также считается обычным ключом объекта.
Следующий парсер тоже должен быть точным
В экспортированном тексте числа точны, но последующий JSON.parse в JavaScript может округлить большое целое. Допустимы 38 значащих цифр и ненулевой модуль от 1e-130 до максимального 38-разрядного значения ниже 1e126. Необычная десятичная запись N нормализуется без изменения значения.
Строгий синтаксис и ограничения размера
Вход ограничен 500 000 кодовых единиц UTF-16 и 50 000 узлов синтаксиса, контейнеры документа — 32 уровнями, выход — 2 000 000 символов. Повторные ключи, неверные множества, неканонический Base64 и одиночные суррогаты Unicode отклоняются. Автоматического исправления или обрезки нет.
Запись в конкретную таблицу не проверяется
Оболочки Item, Items и Streams, JSONL и строки экспорта S3 автоматически не извлекаются. Нет подключения к AWS, чтения URL, загрузки файлов или записи данных. Ключи, индексы и фактический лимит хранения 400 КБ не проверяются. Пустое значение вне ключа может быть недопустимо в ключе.

DynamoDB в JSON: частые вопросы

Как преобразовать DynamoDB JSON в обычный объект JSON?

Выберите DynamoDB → JSON и запись, если каждое свойство объекта содержит AttributeValue. Для отдельного {"S":"text"} выберите одиночное значение. В режиме сохранения множества и двоичные значения получают маркеры, поскольку у JSON нет соответствующих собственных типов.

Почему большое число превращается в строку?

Некоторые конвертеры заключают большие числа в кавычки, чтобы избежать округления. Здесь исходный числовой токен остаётся без кавычек и проверяется десятичной арифметикой. Текст точен, но принимающая программа тоже должна использовать парсер, сохраняющий такую точность.

Можно ли преобразовать множества и двоичные значения?

Да. B, SS, NS и BS проверяются и по умолчанию сохраняются с явными маркерами. В обычном JSON они становятся строками или массивами, а все затронутые пути перечисляются. По этому обычному результату нельзя достоверно восстановить исходный специальный тип.

Можно ли преобразовать экспорт всей таблицы?

Массив карт атрибутов можно обработать пакетно в пределах ограничений. Экспорт AWS S3 обычно содержит JSONL с оболочками Item и напрямую не принимается. Сначала подготовьте массив подходящего размера. Одна неверная запись останавливает преобразование всего пакета.

Как упростить JSON из запроса DynamoDB в AWS CLI?

Скопируйте содержимое Item или массив Items и выберите соответствующую структуру. Метаданные и поля ответа автоматически не удаляются. Для подготовки низкоуровневого запроса выберите JSON → DynamoDB: обычный объект будет преобразован в атрибуты с типовыми дескрипторами.

Нужны пояснения по конкретному типу?

Сначала проверьте смешанный пример

DynamoDB в JSON позволяет проверить пример с разными типами, а затем выбрать представление, которое ожидает следующая программа.