JsonCraft FAQ: ответы на вопросы о JSON
Здесь собраны ответы на наиболее распространённые вопросы о JsonCraft и работе с JSON. Если вы не нашли нужный ответ — напишите нам на support@jsoncraft.org.
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 или напишите нам — мы ответим в течение рабочего дня.