Перейти до вмісту

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

Перетворюйте конфігураційні файли INI у JSON і назад прямо у вашому браузері.

Введення
Вихід

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

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

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

З іншого боку, скалярні властивості кореневого об’єкта стають рядками ключ=значення верхнього рівня, а вкладені об’єкти стають власними блоками [розділу]. Масиви та глибше вкладення не мають місця в плоскому INI, тому вони пропускаються, а не записуються як пошкоджена розмітка. Вимкніть «Pretty-print JSON», щоб отримати компактний однорядковий результат, або залиште його, щоб можна було читати відступ із двох пробілів.

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

FAQ

Як розділи INI зіставляються з JSON?
Кожен заголовок [section] стає вкладеним об’єктом, а пари ключ=значення під ним стають властивостями цього об’єкта. Ключі, які з’являються перед будь-яким заголовком розділу, залишаються на кореневому об’єкті.
Чому всі значення є рядками?
INI не містить типів, і вгадування їх пошкоджує дані — порт на кшталт 08080 або версія на зразок 007 втратить початковий нуль. Значення зберігаються як рядки, тому перетворення відбувається без втрат; переведіть поля, які, як ви знаєте, є числовими, у вашому власному коді.
Що відбувається з коментарями?
Рядки, що починаються з ; або # розглядаються як коментарі та видаляються. INI не має можливості приєднати коментар до значення, тому їх не можна зберегти під час повернення назад із JSON.
Чи може він конвертувати вкладений JSON в INI?
Чисто один рівень вкладених карт: кореневі скаляри стають лініями верхнього рівня, а об’єкти стають розділами. Масиви та об’єкти, вкладені глибше розділу, не мають еквівалента INI, тому вони пропускаються, а не записуються як недійсний текст.
Моя конфігурація десь завантажена?
Ні. Перетворення повністю виконується у вашому браузері, і ваш INI або JSON ніколи не залишає ваш пристрій — це безпечно для файлів, які містять облікові дані або внутрішні налаштування.