Используйте JSON Pointer
Адреса соответствуют RFC 6901. ["/user/name","/tags/0"] выбирает два узла, [""] — корень. Символ / внутри ключа записывается как ~1, а ~ — как ~0. Точечные пути и JSONPath не поддерживаются.
Инструменты JSON
Выберите операцию и запустите её вручную. Проверьте результат перед заменой исходных данных.
Копирование и скачивание включают весь результат, в том числе скрытую часть предпросмотра.
JSON обрабатывается в памяти браузера, без отправки и сохранения.
Pointer: пустая строка = корень, / = пустой ключ; ~1 обозначает /, а ~0 — ~. Поиск буквальный, с учётом регистра. Индексы массива начинаются с нуля и относятся к исходным данным.
Оставить/Удалить использует список путей, а не поиск. После отбора или удаления массивы уплотняются. Другие операции используют целевой путь. Объект преобразуется в [[ключ,значение]]. Сортировка доступна только для массивов из одних чисел или строк.
Результат устарел; копирование и скачивание отключены.
Извлечение ключей JSON помогает разобраться в незнакомом ответе API и выбрать нужные поля. Повторяющиеся имена сохраняются. Полные адреса JSON Pointer различают их расположение, в том числе внутри массивов и у свойств с пустым именем.
Экстрактор ключей JSON показывает список имён, полные адреса или записи листовых узлов. Выберите нужное представление, затем укажите точные пути для изменения полей. Отдельный результат позволяет сравнить новую структуру с исходной до её применения.
Извлечение ключей JSON различает одноимённые поля по полному расположению. Листовая запись содержит Pointer, типизированные сегменты, тип и исходное значение. Ключ объекта "0" при этом отличается от индекса массива 0.
Извлечение ключей JSON объединяет отбор, удаление, переименование и операции с массивами. Сначала появляется предпросмотр. Применение выполняется отдельно и допускает один шаг отмены, чтобы можно было проверить затронутую структуру до замены источника.
Адреса соответствуют RFC 6901. ["/user/name","/tags/0"] выбирает два узла, [""] — корень. Символ / внутри ключа записывается как ~1, а ~ — как ~0. Точечные пути и JSONPath не поддерживаются.
Поиск проверяет буквальное вхождение текста в извлечённый путь с учётом регистра. Оставить и Удалить читают только явный список адресов. Другие операции используют одну цель. После изменения любого параметра запустите обработку снова.
Отбор и удаление уплотняют массивы. Перед применением проверьте размер замены. Отмена восстанавливает ввод, настройки и вывод вместе. Импорт, загрузка примера и очистка также сначала показывают замену для проверки.
Список ключей объекта сохраняет повторяющиеся имена, но не включает индексы массивов. Полные пути включают корень и контейнеры. Извлечение значений JSON через листовые записи показывает скаляры и пустые контейнеры вместе с типизированными сегментами пути.
Отбор сохраняет предков и выбранные поддеревья целиком; пересекающиеся выборки учитываются один раз. Удаление сначала разрешает все исходные индексы. Переименование меняет одно поле объекта и запрещает запись поверх существующего имени. Если имя не меняется, операция ничего не изменяет и счётчик равен 0.
Объект становится [[ключ,значение]] в исходном порядке. Пустые и похожие на числа ключи сохраняются. Обратная операция требует двух элементов в каждой паре и уникальных строковых ключей; имя __proto__ также обрабатывается безопасно.
Числа сравниваются математически точно, даже при огромных показателях степени; строки — по кодовым единицам UTF-16. Равные элементы сохраняют порядок в обоих направлениях. Удаление повторов оставляет первый эквивалентный элемент, игнорирует порядок ключей и считает 1, 1.0 и 1e0 равными.
Да, если они находятся в разных объектах. Извлечение ключей JSON сохраняет такие вхождения; полные пути помогают их различить. Повтор одного ключа внутри одного объекта отклоняется при разборе.
Список имён содержит только ключи. Выберите листовые записи, чтобы получить исходное значение, тип, Pointer и типизированные сегменты. Пустые объекты и массивы тоже считаются листьями.
Операция прекращается с ошибкой. Частичный результат не выдаётся как успешный. Исправьте синтаксис и повторите запуск; комментарии и завершающие запятые не принимаются.
Нет. Листовые записи сохраняют JSON-типы: пустой объект остаётся объектом, массив — массивом. Преобразование объекта в пары тоже сохраняет значения, а не превращает их в строковое описание.
Да. Весь документ проходит строгий разбор и проверку ограничений до выдачи результата. Повторяющиеся ключи внутри объекта отклоняются, а исходная запись допустимых чисел сохраняется без округления.
Обнаружили неожиданное изменение поля?
Запустите Извлечение ключей JSON на примере, проверьте адрес листа и результат изменения поля, затем примените его к исходным данным.