Инструменты JSON

Извлечение ключей JSONнайдите поля и проверьте изменения

Выберите операцию и запустите её вручную. Проверьте результат перед заменой исходных данных.

Извлечение ключей JSON

Входной JSON

Предпросмотр результата

Копирование и скачивание включают весь результат, в том числе скрытую часть предпросмотра.

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

Pointer: пустая строка = корень, / = пустой ключ; ~1 обозначает /, а ~0 — ~. Поиск буквальный, с учётом регистра. Индексы массива начинаются с нуля и относятся к исходным данным.

Оставить/Удалить использует список путей, а не поиск. После отбора или удаления массивы уплотняются. Другие операции используют целевой путь. Объект преобразуется в [[ключ,значение]]. Сортировка доступна только для массивов из одних чисел или строк.

Результат устарел; копирование и скачивание отключены.

Извлечение ключей JSON помогает разобраться в незнакомом ответе API и выбрать нужные поля. Повторяющиеся имена сохраняются. Полные адреса JSON Pointer различают их расположение, в том числе внутри массивов и у свойств с пустым именем.

Экстрактор ключей JSON показывает список имён, полные адреса или записи листовых узлов. Выберите нужное представление, затем укажите точные пути для изменения полей. Отдельный результат позволяет сравнить новую структуру с исходной до её применения.

Зачем нужно Извлечение ключей JSON?

Храните адрес рядом со значением

Извлечение ключей JSON различает одноимённые поля по полному расположению. Листовая запись содержит Pointer, типизированные сегменты, тип и исходное значение. Ключ объекта "0" при этом отличается от индекса массива 0.

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

Проверяйте результат перед заменой

Извлечение ключей JSON объединяет отбор, удаление, переименование и операции с массивами. Сначала появляется предпросмотр. Применение выполняется отдельно и допускает один шаг отмены, чтобы можно было проверить затронутую структуру до замены источника.

Объект из трёх полей преобразуется в три упорядоченные пары ключа и значения и обратно.

Выберите адреса и проверьте изменения

01

Используйте JSON Pointer

Адреса соответствуют RFC 6901. ["/user/name","/tags/0"] выбирает два узла, [""] — корень. Символ / внутри ключа записывается как ~1, а ~ — как ~0. Точечные пути и JSONPath не поддерживаются.

02

Отделяйте поиск от выбора полей

Поиск проверяет буквальное вхождение текста в извлечённый путь с учётом регистра. Оставить и Удалить читают только явный список адресов. Другие операции используют одну цель. После изменения любого параметра запустите обработку снова.

03

Проверьте индексы перед применением

Отбор и удаление уплотняют массивы. Перед применением проверьте размер замены. Отмена восстанавливает ввод, настройки и вывод вместе. Импорт, загрузка примера и очистка также сначала показывают замену для проверки.

Просмотр и преобразование структуры

Три представления данных

Список ключей объекта сохраняет повторяющиеся имена, но не включает индексы массивов. Полные пути включают корень и контейнеры. Извлечение значений JSON через листовые записи показывает скаляры и пустые контейнеры вместе с типизированными сегментами пути.

Точные операции с полями

Отбор сохраняет предков и выбранные поддеревья целиком; пересекающиеся выборки учитываются один раз. Удаление сначала разрешает все исходные индексы. Переименование меняет одно поле объекта и запрещает запись поверх существующего имени. Если имя не меняется, операция ничего не изменяет и счётчик равен 0.

Обратимое преобразование пар

Объект становится [[ключ,значение]] в исходном порядке. Пустые и похожие на числа ключи сохраняются. Обратная операция требует двух элементов в каждой паре и уникальных строковых ключей; имя __proto__ также обрабатывается безопасно.

Точное сравнение и удаление повторов

Числа сравниваются математически точно, даже при огромных показателях степени; строки — по кодовым единицам UTF-16. Равные элементы сохраняют порядок в обоих направлениях. Удаление повторов оставляет первый эквивалентный элемент, игнорирует порядок ключей и считает 1, 1.0 и 1e0 равными.

Ограничения адресов и данных

Строгий JSON и конечные лимиты
Не допускаются комментарии, завершающие запятые, BOM и повторные ключи. Лимиты: 500 000 символов для ввода и вывода отдельно, 500 000 байт на файл, глубина 100 и 50 000 узлов. Запись числа ограничена 1 000 символами и сохраняется без преобразования в число с плавающей точкой. Суммарная длина всех пройденных путей ограничена 2 000 000 символов, включая пути, не совпавшие с поиском.
Выбор только существующих адресов
Отбор и удаление требуют от 1 до 1 000 существующих Pointer. Выбранный предок включает потомков. Пустой список отклоняется. Корень можно сохранить целиком, но нельзя удалить или переименовать. Отсутствующий путь прерывает всю операцию.
Индексы массива могут измениться
После отбора или удаления массив уплотняется; старые пути могут указывать на другие элементы. Переименовываются только поля объектов. Сортировка не принимает смешанные типы, объекты, null и логические значения; сортировки по полю или правилам языка нет.
Определённая форма пар
Преобразование массива в объект принимает только [строковый ключ,значение] без повторяющихся ключей. Массивы значений или записей не интерпретируются автоматически. Меняется только выбранная цель; окружающая часть документа сохраняется.
Без выполнения выражений
JSONPath, регулярные выражения, скрипты и загрузка по URL не поддерживаются. При удалении повторов порядок массивов важен, а порядок ключей, включая вложенные объекты, — нет. Типы различаются; -0 и 0 равны, сохраняется первая исходная запись числа.

Вопросы: Извлечение ключей JSON

Сохраняются ли повторяющиеся имена ключей?

Да, если они находятся в разных объектах. Извлечение ключей JSON сохраняет такие вхождения; полные пути помогают их различить. Повтор одного ключа внутри одного объекта отклоняется при разборе.

Включает ли результат значения JSON?

Список имён содержит только ключи. Выберите листовые записи, чтобы получить исходное значение, тип, Pointer и типизированные сегменты. Пустые объекты и массивы тоже считаются листьями.

Что происходит с некорректным JSON?

Операция прекращается с ошибкой. Частичный результат не выдаётся как успешный. Исправьте синтаксис и повторите запуск; комментарии и завершающие запятые не принимаются.

Преобразуются ли объекты в строки?

Нет. Листовые записи сохраняют JSON-типы: пустой объект остаётся объектом, массив — массивом. Преобразование объекта в пары тоже сохраняет значения, а не превращает их в строковое описание.

Проверяется ли JSON перед извлечением?

Да. Весь документ проходит строгий разбор и проверку ограничений до выдачи результата. Повторяющиеся ключи внутри объекта отклоняются, а исходная запись допустимых чисел сохраняется без округления.

Обнаружили неожиданное изменение поля?

Попробуйте точечное изменение

Запустите Извлечение ключей JSON на примере, проверьте адрес листа и результат изменения поля, затем примените его к исходным данным.