Перейти к содержанию

Конвертер INI ⇄ JSON

Конвертируйте файлы конфигурации INI в JSON и обратно прямо в браузере.

Входные данные
Выходные данные

Конвертер INI ⇄ JSON

Вставьте файл конфигурации INI и получите чистый объект JSON или вставьте JSON и получите INI. Конвертер работает в обоих направлениях, поэтому он подходит независимо от того, читаете ли вы устаревшую конфигурацию в современное приложение или записываете ее для инструмента, который по-прежнему ожидает классический формат ключ = значение. Типичные задачи: преобразование файла настроек php.ini или настольного приложения в JSON для сценария, проверка конфигурации как структурированных данных или создание раздела INI из уже существующего объекта.

Сторона INI обрабатывает формат в том виде, в каком он существует. Заголовки разделов в квадратных скобках становятся вложенными объектами, а любые пары ключ=значение перед первым разделом остаются в корне. Комментарии, начинающиеся с точки с запятой или хеша, игнорируются, а пробелы вокруг ключей и значений обрезаются. Значения намеренно сохраняются в виде строк, а не угадываются в виде чисел или логических значений, поэтому версия типа 007 или порт, записанный с начальным нулем, сохраняется без изменений. Знак равенства внутри значения остается в покое — строку разделяет только первый знак.

И наоборот, скалярные свойства корневого объекта становятся строками «ключ=значение» верхнего уровня, а вложенные объекты становятся отдельными блоками [section]. Массивы и более глубокая вложенность не имеют места в плоском INI, поэтому они пропускаются, а не записываются как сломанная разметка. Отключите «Pretty-print JSON», чтобы получить компактный однострочный результат, или оставьте его включенным, чтобы можно было читать отступы в два пробела.

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

FAQ

Как разделы INI сопоставляются с JSON?
Каждый заголовок [section] становится вложенным объектом, а пары ключ=значение под ним становятся свойствами этого объекта. Ключи, которые появляются перед заголовком любого раздела, остаются в корневом объекте.
Почему все значения являются строками?
INI не содержит типов, и их угадывание повреждает данные — порт типа 08080 или версия типа 007 потеряют ведущий ноль. Значения сохраняются в виде строк, поэтому преобразование происходит без потерь; используйте поля, которые, как вы знаете, являются числовыми, в своем собственном коде.
Что происходит с комментариями?
Строки, начинающиеся с ; или # рассматриваются как комментарии и удаляются. В INI нет возможности прикрепить комментарий к значению, поэтому их нельзя сохранить при обратном пути из JSON.
Может ли он преобразовать вложенный JSON в INI?
Один уровень вложенности четко отображает: корневые скаляры становятся линиями верхнего уровня, а объекты — разделами. Массивы и объекты, вложенные глубже раздела, не имеют эквивалента INI, поэтому они пропускаются, а не записываются как недопустимый текст.
Моя конфигурация где-нибудь загружена?
Нет. Преобразование выполняется полностью в вашем браузере, и ваш INI или JSON никогда не покидает ваше устройство — безопасно для файлов, содержащих учетные данные или внутренние настройки.