⬡ offline

JSON (JavaScript Object Notation) — текстовый формат сериализации данных, основанный на синтаксисе JavaScript. Он описывает данные через объекты (фигурные скобки), массивы (квадратные скобки) и примитивы (строки, числа, булевы значения, null). XML — более старый формат, основанный на тегах, который изначально создавался для описания документов.

Ключевые отличия: JSON компактнее XML примерно на 20–40% для эквивалентных данных; JSON нативно поддерживается JavaScript через JSON.parse() и JSON.stringify(); XML поддерживает атрибуты, namespace и комментарии. Для REST API и конфигурационных файлов JSON стал де-факто стандартом.

JsonCraft использует нативный метод JSON.parse() браузера, который является наиболее надёжным способом валидации JSON. Проверка выполняется в реальном времени с задержкой 300 мс после последнего нажатия клавиши — это позволяет не замедлять ввод, но обеспечивает мгновенную обратную связь.

При обнаружении ошибки статусная плашка над редактором меняет цвет с зелёного на красный и отображает сообщение из стандартного браузерного SyntaxError, включая тип ошибки и позицию в тексте. Например: Unexpected token ' in JSON at position 8 означает одинарную кавычку вместо двойной.

JSONPath — язык запросов для извлечения данных из JSON-структур, придуманный Стефаном Гёсснером по аналогии с XPath для XML. Запрос всегда начинается с символа $ (корень документа) и затем описывает путь к нужным данным.

Базовые операторы:

$.name          // поле name в корневом объекте
$.users[0]      // первый элемент массива users
$.users[*].email // поле email у всех элементов
$..price        // все поля price на любой глубине
$.store.*       // все поля объекта store

В JsonCraft перейдите на вкладку «JSONPath», вставьте JSON в поле ввода, напечатайте путь в строке запроса и нажмите «Выполнить». Результат отображается с синтаксической подсветкой.

JsonCraft работает со стандартным JSON согласно спецификации RFC 8259. Стандартный JSON не поддерживает: комментарии (// и /* */), одинарные кавычки, trailing comma, нечисловые значения (NaN, Infinity) и ключи без кавычек.

JSON5 — расширение стандарта, добавляющее все перечисленные возможности. Если ваш конфигурационный файл использует JSON5 (например, .babelrc некоторых версий), сначала конвертируйте его в стандартный JSON.

JsonCraft обрабатывает JSON в памяти браузера через нативный JavaScript. Файлы до 1 МБ обрабатываются практически мгновенно. Файлы размером 1–5 МБ могут занять 1–3 секунды. Файлы свыше 10 МБ могут вызвать временное зависание вкладки.

Для очень больших JSON файлов (50+ МБ) рекомендуется использовать командную строку:

# Python (встроен в систему)
cat large.json | python3 -m json.tool

# jq (требует установки)
cat large.json | jq '.'

# Node.js
node -e "const fs=require('fs');console.log(JSON.stringify(JSON.parse(fs.readFileSync('large.json')),null,2))"

Нет. JsonCraft — это полностью клиентское приложение. Весь код выполняется в JavaScript-движке вашего браузера, никакие данные не передаются на удалённые серверы. Единственные сетевые запросы — это загрузка ресурсов приложения при первом открытии.

Это означает полную конфиденциальность: вы можете вставлять JSON с токенами доступа, персональными данными, внутренними конфигурациями и секретными ключами без беспокойства об утечке. После закрытия вкладки данные не сохраняются.

Перейдите на вкладку «🔀 Сравнение» в верхнем меню. Вставьте первый JSON (например, старый ответ API или предыдущую версию конфига) в левое поле, второй — в правое. Нажмите кнопку «🔀 Сравнить».

JsonCraft покажет все изменения в виде цветного списка: зелёный (+) для добавленных полей, красный (-) для удалённых, жёлтый (~) для изменённых. Каждое изменение отображается с полным путём к полю и старым/новым значением.

JsonCraft полностью поддерживает Unicode и корректно обрабатывает все UTF-8 символы: кириллицу, китайские иероглифы, арабское письмо, эмодзи и специальные знаки. Строки JSON могут содержать любые Unicode-символы напрямую или через escape-последовательности \uXXXX.

Обратите внимание: JSON.stringify() по умолчанию экранирует некоторые Unicode-символы через \uXXXX. JsonCraft отображает их в читаемом виде при форматировании.

Да. Кнопка «🗜 Минифицировать» удаляет из JSON все незначимые пробелы, табуляции и переносы строк, создавая компактную однострочную версию. Это полезно в нескольких сценариях:

  • Вставка JSON в переменную окружения (.env файл) — переменные не поддерживают многострочные значения
  • Запросы к API через curl — тело запроса передаётся как однострочная строка
  • Сохранение в localStorage — браузер хранит строки, не JSON
  • Оптимизация размера конфигурационных файлов для production-сборок

Нажмите кнопку «📋 Копировать» в панели инструментов форматтера — содержимое правого поля помещается в системный буфер обмена. Кнопка на 1.5 секунды меняет текст на «✓ Скопировано!». Затем вставьте результат в нужный файл, редактор или инструмент.

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

Не нашли ответ на свой вопрос?

Ознакомьтесь с полным руководством по JsonCraft или напишите нам — мы ответим в течение рабочего дня.