Happ VPN

«Невалидная (массив) конфигурация JSON»

Автор
Дмитрий Соколов, ведущий технический автор
Проверил:
Артём Волков
Проверено:
Опубликовано:
Версия гайда:
1.0

Коротко

«Невалидная (массив) конфигурация JSON» значит, что Happ не смог разобрать JSON-конфигурацию: в тексте синтаксическая ошибка или он обрезан. Проверьте JSON валидатором на своём компьютере, исправьте кавычки, запятые и скобки и импортируйте конфигурацию снова.

JSON-конфигурация — полный конфиг Xray-core, который Happ передаёт ядру без изменений, один к одному. Поэтому синтаксис должен быть безупречным: одна лишняя запятая или типографская кавычка делает весь текст невалидным. Слово «массив» в сообщении указывает, что JSON может содержать несколько конфигураций в квадратных скобках, и синтаксическая ошибка в любой из них ломает разбор целиком. Проверьте текст локальным валидатором, найдите строку с ошибкой и повторите импорт.

Невалидная (массив) конфигурация JSON — «Невалидная (массив) конфигурация JSON» — ошибка импорта Happ, когда переданный текст JSON-конфигурации, одиночный объект или массив конфигураций, содержит синтаксические ошибки или недопустимые символы и не может быть разобран.

Что означает ошибка

«Невалидная (массив) конфигурация JSON»
Текст из официальной документации Happ

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

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

Эта страница — про синтаксис JSON. Если текст разбирается, но сервер не подключается, проблема уже в полях конфигурации Xray, а не в формате.

Причины

ПричинаВероятностьКак проверить
Типографские кавычки вместо прямых: заметки, мессенджер или автозамена превратили кавычки в “ ” или « ».ВысокаяНайдите в тексте символы “ ” « » ‘ ’. В JSON допустимы только прямые двойные кавычки.
Завершающая запятая после последнего элемента объекта или массива либо пропущенная запятая между элементами.ВысокаяПрогоните текст через локальный валидатор: он укажет номер строки и позицию ошибки.
Текст обрезан: мессенджер разбил длинное сообщение, и потерялись закрывающие скобки.СредняяСравните число открывающих и закрывающих фигурных и квадратных скобок. Текст должен заканчиваться символом } или ].
В JSON оставлены комментарии // или /* */, которые терпят некоторые редакторы, но не стандарт.СредняяПоищите в тексте // и /* за пределами строковых значений.
Это не JSON Xray: скопирована YAML-конфигурация или файл другого формата.НизкаяПосмотрите на первый символ: JSON начинается с { или [, а YAML — со строк вида ключ: значение без скобок.

Как исправить

  1. Сохраните текст в файл

    Вставьте JSON в текстовый редактор и сохраните как config.json в кодировке UTF-8. С файлом работать надёжнее, чем с сообщением в чате.

    Результат: Файл открывается, текст виден целиком — от первой до последней скобки.

  2. Проверьте синтаксис локально

    Выполните python3 -m json.tool config.json или jq . config.json, а в PowerShell 7 — Get-Content config.json -Raw | Test-Json. Любой вариант покажет, где ошибка.

    Результат: Валидатор выводит отформатированный JSON или True без сообщений об ошибке.

  3. Замените кавычки и уберите комментарии

    Замените все типографские кавычки на прямые двойные, удалите комментарии и запятые перед } и ].

    Результат: Повторная проверка проходит без ошибок.

  4. Проверьте структуру массива

    Если конфигураций несколько, они должны быть элементами одного массива: [ {…}, {…} ], с запятой между объектами и без запятой после последнего.

    Результат: Каждый объект открывается { и закрывается }, квадратные скобки парные.

  5. Отключите смарт-пунктуацию на iPhone

    Если JSON хранится в заметках iPhone или iPad, отключите смарт-пунктуацию в настройках клавиатуры (Настройки → Основные → Клавиатура) и перенесите текст заново.

    Результат: Скопированный JSON сохраняет прямые кавычки.

  6. Импортируйте конфигурацию снова

    Скопируйте проверенный текст целиком и добавьте его в Happ через буфер обмена. На другое устройство передавайте файл, а не текст сообщения.

    Результат: Конфигурация появляется в списке серверов.

Чек-лист диагностики

  • Текст начинается с { или [ и заканчивается } или ].
  • Все кавычки прямые двойные.
  • Нет комментариев и завершающих запятых.
  • Локальный валидатор не находит ошибок.
  • Правила маршрутизации для JSON-конфигурации заданы внутри самого JSON.

Платформы

Ошибка встречается на платформах: Windows, macOS, Linux, Android, iPhone и iPad, Android TV.

Главное

  • JSON-конфигурации передаются в Xray-core без изменений, один к одному.
  • Маршрутизация Happ к JSON-конфигурациям не применяется, но геофайлы и удалённый DNS берутся из активного профиля.
  • Стандарт JSON не допускает комментариев, завершающих запятых, одинарных и типографских кавычек.
  • У JSON-подписки может быть ноль или один профиль маршрутизации, и изменить его нельзя.
  • Конфигурацию с реальными ключами проверяйте локально: python3 -m json.tool, jq или редактором кода.

Частые вопросы

Что значит слово «массив» в ошибке Happ про JSON?

JSON бывает объектом в фигурных скобках или массивом в квадратных. Упоминание массива говорит о том, что Happ принимает и набор из нескольких конфигураций, записанных как [ {…}, {…} ]. Проверьте, что квадратные скобки парные, объекты разделены запятыми, а после последнего объекта запятой нет — это самые частые ошибки в массивах.

Почему JSON после пересылки в мессенджере стал невалидным?

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

Можно ли оставлять комментарии в JSON-конфигурации для Happ?

Лучше не нужно. Стандарт JSON не предусматривает комментариев вида // или /* */, и строгий разборщик на них спотыкается, даже если ваш редактор их подсвечивает спокойно. Уберите комментарии перед импортом, а пояснения к конфигурации храните в отдельном текстовом файле рядом с ней, чтобы не потерять их при следующей правке.

Как проверить JSON, не выкладывая ключи в интернет?

Используйте инструменты на своём компьютере. На macOS и Linux подойдёт python3 -m json.tool config.json или jq . config.json, в PowerShell 7 — Get-Content config.json -Raw | Test-Json. Редакторы кода тоже подсвечивают ошибки синтаксиса. Онлайн-валидаторы для конфигураций с настоящими UUID и паролями не используйте: текст уходит на чужой сервер.

JSON импортировался, но сервер не подключается. Это та же ошибка?

Нет. Импорт проверяет, что текст является корректным JSON, а содержимое Happ передаёт Xray-core без изменений. Если в полях ошибка — неверное имя протокола, пропущенный адрес, неподходящие параметры транспорта, — она проявится при подключении как ошибка ядра Xray. В этом случае сверяйте поля конфигурации с документацией Xray-core, а не синтаксис.

Работают ли правила маршрутизации Happ с JSON-конфигурацией?

Нет, правила маршрутизации приложения к JSON-конфигурации не применяются: всё, что нужно, должно быть прописано внутри самого JSON. При этом выбор геофайлов и удалённый DNS Happ берёт из активного профиля маршрутизации. Для JSON-подписок допускается не больше одного профиля, и изменить его нельзя.

Как получить из Happ JSON рабочего сервера для образца?

Смахните рабочий сервер вправо, нажмите иконку со стрелкой и выберите «JSON». Получится конфигурация, которую приложение считает корректной, — удобный образец структуры. Вариант доступен, только если подписка не зашифрована и не скрыта. Перед тем как делиться таким JSON, помните, что в нём есть данные для подключения.

Упомянутые темы

Разделы по теме

Источники

  1. Документация Happ: ошибки — обращение 27 сентября 2026
  2. Документация Happ: примеры ссылок и параметров — обращение 27 сентября 2026
  3. Документация Happ: маршрутизация — обращение 27 сентября 2026
  4. Документация Happ: добавление конфигурации и подписки — обращение 27 сентября 2026