Выберите сохранение строк или вывод типов, а затем решите, нужна ли иерархия ключей.
ENV в JSON
Ввод
Результат
Содержимое остаётся в браузере: без отправки, выполнения, сохранения и добавления в URL.
Строгое подмножество dotenv 17.4.2. Значения в кавычках остаются строками; вывод типов касается только чисел JSON, true, false и null без кавычек. Комментарии и исходные кавычки удаляются.
ENV в JSON позволяет проверить присваивания окружения как структурированные данные. Номер порта может требоваться именно строкой, а false в кавычках не должен неожиданно становиться логическим значением. Решение зависит от приложения, которое получит результат.
Используйте dotenv в JSON для чтения поддерживаемой записи или JSON в ENV для создания присваиваний. Переменные окружения преобразуются как данные: команды не запускаются, ссылки не раскрываются, имена для приложения не подбираются.
Зачем использовать ENV в JSON
Меняйте типы и структуру осознанно
Текст сохраняет своё значение
ENV в JSON по умолчанию сохраняет допустимые значения строками, включая 001, false и пустое присваивание. Включайте вывод типов, только если получателю нужны простые типизированные значения. Кавычки продолжают защищать текст и в этом режиме.
При включённой иерархии DATABASE__HOST становится полем HOST внутри DATABASE. Конфликт родителя с листом или неоднозначное соединение подчёркиваний останавливает преобразование, а не переносит значение в другой путь.
По умолчанию строки сохраняются. Вывод типов распознаёт только числа JSON без кавычек и строчные true, false, null. 001, NaN, [] и числа в кавычках остаются текстом. JSON → ENV в строковом режиме тоже требует строковые листья.
02
Включайте иерархию при необходимости
В плоском режиме DATABASE__HOST — одно имя. Режим __ разбивает его на путь объекта и отклоняет пустые сегменты, конфликты, __ внутри сегмента и неоднозначные границы. Массивы и пустые вложенные объекты не выгружаются.
03
Проверьте обратную замену
Использование результата показывает новый текст и направление до применения. Затем можно один раз вернуть ввод, параметры и вывод. Автопреобразование ждёт 350 мс; без него доступны кнопка и Ctrl/Cmd+Enter. Любая правка сразу блокирует выгрузку устаревшего результата.
Без скрытого приведения типов
Проверяйте правила на каждой границе
Точная запись чисел
Распознанные числа JSON сохраняют цифры и запись экспоненты без преобразования в binary64. В получающем приложении возможны округление, переполнение или потеря слишком малого значения. В обоих направлениях числовой токен ограничен 1 000 символами.
Проверенное подмножество кавычек
Одинарные и двойные кавычки, а также обратные кавычки могут окружать многострочные значения. Только двойные декодируют обратный слеш-n и обратный слеш-r в LF и CR; прочие слеши остаются буквальными. При записи выбирается отсутствующий в значении разделитель.
Пути с учётом регистра
Имена ENV соответствуют [A-Za-z_][A-Za-z0-9_]* с сохранением регистра. Повторы, неверные имена и конфликты родитель-лист прерывают всё преобразование. __proto__ отклоняется для совместимости с проверенным потребителем dotenv.
Один текст для всех способов выгрузки
Редактор результата, буфер обмена и скачанный UTF-8-файл содержат одинаковый текст. Локальный файл сначала открывает просмотр замены. При ошибке старая выдача помечается устаревшей; частичная конфигурация не выгружается.
Допустимый синтаксис и ограничения
Чтение конфигурации без запуска приложения
Строгий разбор без выполнения
Принятый ввод сверяется с dotenv 17.4.2 parse: присваивания через равно, необязательный export, пустые строки, комментарии # и три разделителя. Ошибочные строки не пропускаются. Нет выполнения shell, dotenv-expand, подстановки команд или доступа к окружению ОС; ссылки с долларом остаются буквальными.
Точные границы кавычек
Нельзя вставить такой же разделитель через обратный слеш — выберите другой. Слеш непосредственно перед закрывающим разделителем тоже запрещён. Двойные кавычки декодируют только буквальные обратный слеш-n и обратный слеш-r. Физические CRLF и CR во вводе ENV становятся LF. Совместимость со всеми shell и диалектами dotenv не обещается.
Не всякую строку можно записать
Запись пробует одинарные, обратные, безопасные двойные кавычки, затем форму без кавычек. В последней не допускаются #, CR/LF, пробелы по краям и начальная кавычка. Для CR нужны безопасные двойные кавычки; для конечного обратного слеша — безопасная форма без кавычек. Несовместимые разделители и буквальные escape-последовательности вызывают ошибку с путём, без частичного результата.
Только объекты и простые листья
Корень JSON — объект. Строковый режим отклоняет числа, логические значения и null; вывод типов записывает их токены явно. Текст в кавычках возвращается текстом. Массивы не сериализуются в строки. Плоский режим не принимает подобъекты; вложенный — пустые объекты, __ в сегментах и пути, которые нельзя точно разделить обратно. {} создаёт пустой ENV. Каждое имя и сегмент соответствуют [A-Za-z_][A-Za-z0-9_]*; регистр сохраняется, повторы и __proto__ запрещены.
Оформление не восстанавливается
Комментарии, export, исходные разделители и пробелы оформления не сохраняются в JSON. Нет автоматического переименования, вывода индексов массива, слияния, пакетного ZIP, загрузки URL, ссылок для передачи данных и постоянной истории ввода. Обычный загрузчик ENV возвращает строки даже для голых null и true; выбирайте типы под получателя.
Явные пределы обработки
Ввод: до 500 000 символов UTF-16 и 2 МБ UTF-8, 10 000 присваиваний, 50 000 узлов, глубина 100. Числовой токен — до 1 000 символов, вывод — до 2 миллионов. NUL и непарные суррогаты Unicode отклоняются. Ошибки размера, синтаксиса и представимости блокируют всю выгрузку.
Вопросы об ENV в JSON
Разберитесь в значениях и структуре
Как разбираются значения ENV в кавычках?
ENV в JSON убирает внешний поддерживаемый разделитель и сохраняет содержимое строкой. Двойные кавычки понимают только обратный слеш-n и -r; одинарные и обратные сохраняют эти последовательности буквально. Встроенные одинаковые разделители и неоднозначное закрытие отклоняются.
Сохраняются ли комментарии и export после преобразования?
В JSON они не попадают. # без кавычек начинает комментарий, внутри кавычек является содержимым. export распознаётся только как синтаксис и не выполняется. Обратный ход создаёт новые присваивания без восстановления оформления.
Почему числа представлены текстом в JSON?
Переменные окружения являются строками. Вывод типов позволяет распознать допустимые числа JSON без кавычек, true, false и null. 001 и числа в кавычках остаются текстом. Длинные числовые токены сохраняют цифры в пределах лимита.
Какие значения ENV нужно заключать в кавычки?
Обычно запись заключает строки в кавычки, защищая пробелы, # и текст, похожий на простой тип. Выбирается разделитель, а не JSON-экранирование. Некоторые сочетания или конечный слеш допускают безопасную форму без кавычек; иначе сообщается путь ошибки.
Как представить вложенную структуру JSON в ENV?
Режим __ соединяет пути непустых объектов: DATABASE.HOST превращается в DATABASE__HOST с сохранением регистра. Массивы, пустые подобъекты, неверные имена и неоднозначные подчёркивания запрещены. Плоский режим не трактует имена как иерархию.