Преобразовать INI

INI в JSON или YAML, либо плоский JSON обратно в INI.

Файл секций и дерево

INI — это строки key = value и необязательные заголовки [section]. Страница читает это как JSON или YAML либо пишет неглубокий JSON обратно в INI. Вложенные объекты и массивы здесь не INI. YAML из документа JSON — это JSON в YAML.

Как пользоваться

  1. Вставьте INI или JSON.
  2. Направление: INI в JSON, INI в YAML или JSON в INI.
  3. Приводить голые числа и логические значения включено. Голое 3306 становится числом, true — логическим, null — null. Значение в кавычках остаётся строкой, поэтому "3306" остаётся текстом. Если снять флажок, каждое значение без кавычек тоже останется текстом.
  4. Преобразовать пишет результат. Показать пример подставляет title = Notes, пустую строку, [db], host = localhost и port = 3306 и ставит направление INI в JSON. Очистить всё опустошает оба поля. Копировать результат копирует вывод.

Что сохраняет преобразование

Пустые строки и строки, начинающиеся с ; или #, пропускаются. Имя секции становится объектом. Ключи до первой секции остаются наверху. Один и тот же ключ в одной секции: побеждает более поздняя строка. JSON в INI принимает объект, значения которого — строки, числа, логические, null или объекты из этих скаляров. Массив или объект внутри секции отвергается. При записи INI кавычки вокруг значений не ставятся. INI в YAML берёт тот же объект, что INI в JSON, и пишет YAML. Нет строк продолжения и нет объектов [section.sub].

Где пригодится

  • Прочитать конфигурацию в скрипт.
  • Перевести файл настроек в YAML.
  • Записать плоский объект настроек обратно в INI.

Вопросы

port стал числом, а нужен текст 3306.

Возьмите его в кавычки в INI или снимите «Приводить голые числа и логические значения».

Массив не ушёл в INI.

Страница пишет только один уровень секций. У массива здесь нет формы INI.