Конвертер конфигураций
Вставьте один формат конфигурации и получите два других по мере ввода.
Как пользоваться
- Вставьте конфигурацию — YAML, JSON или Java .properties. Формат определяется, а два других появляются ниже по мере ввода; нажимать нечего.
- Если формат угадан неверно, выберите исходный сами. Задайте отступ в 2 или 4 пробела и отключите «Разворачивать точечные ключи», чтобы сохранить ключи в стиле Spring плоскими.
- Копируйте или скачивайте каждый результат отдельно — файлы называются config.yaml, config.json и config.properties.
Пример
Ввод (YAML)
server: port: 8080 name: order-service debug: true
JSON и Properties
{
"server": {
"port": 8080,
"name": "order-service"
},
"debug": true
}
Properties
----------
server.port = 8080
server.name = order-service
debug = trueТолько правила по умолчанию: источник определён как YAML, поэтому 8080 остаётся числом, а true — логическим значением. В Properties типов нет, поэтому те же значения выходят строками 8080 и true — если источник .properties, строками они остаются насквозь.
Правила, ограничения и известные проблемы
- Только три формата: YAML, JSON и Java .properties. Никаких TOML, заголовков [section] из INI, XML или CSV.
- YAML поддерживается как подмножество для конфигураций: блочные отображения, последовательности, потоковые {…} / […], скаляры в кавычках и блочные скаляры | / >. Якоря (&), псевдонимы (*), !tags, ключи слияния << и сложные ключи ? сообщаются как ошибки, а не угадываются.
- Преобразуется только первый документ YAML; последующий --- игнорируется и отмечается в отчёте.
- Комментарии не переносятся: три формата размещают их по-разному, а комментарий не на своём месте хуже, чем его отсутствие.
- В Properties нет типов. Любое значение — строка, поэтому port = 8080 становится в JSON строкой "8080", а не числом 8080. Числа, логические значения и null сохраняются только из YAML или JSON.
- Текст вне ASCII записывается как есть (UTF-8), а не как \uXXXX. Java Properties.store() пишет ISO-8859-1, поэтому сохраняйте файл в UTF-8, если вставляете его в Java-проект.
- Целые числа за пределами безопасного диапазона (например, 12345678901234567890) сохраняются строками с точными введёнными цифрами, а не округляются до числа.
- Порядок ключей следует за вводом; сортировки нет.
- Массив или простое значение верхнего уровня нельзя записать как properties — об этом сообщает только эта панель, остальные продолжают преобразование.
- Нет загрузки файлов, параметров URL и истории. Всё выполняется в браузере: ничего не загружается и не сохраняется.
- Строка с переводом строки записывается в YAML как "a\nb", а не как блочный скаляр |.
- Ограничения: 1 000 000 символов и 64 уровня вложенности — при превышении любого выдаётся ошибка, а не усечённый результат. Свыше 200 000 символов результат обновляется примерно через 0,6 с после остановки ввода; вывод использует LF и не заканчивается переводом строки.
Похожие инструменты
Что обычно нужно дальше, когда конфигурация уже в нужном формате.