Конвертер .properties в JSON

Конвертируйте файлы Java .properties в JSON с вложенными ключами, определением типов и комментарием над каждым ключом в $comments. Работает полностью в браузере.

Файл Java .properties разбирается здесь по правилам java.util.Properties: разделители =, : и пробел, комментарии # и !, продолжение строки обратным слэшем, escape-последовательности \uXXXX. На выходе — JSON: ключи с точками вроде app.cache.ttl по умолчанию становятся вложенными объектами, числа и булевы значения получают настоящие типы JSON, а комментарий, стоящий прямо над свойством, сохраняется в поле $comments. Пустые строки и комментарии, отделённые от следующего свойства пустой строкой, в JSON не попадают. Всё считается прямо в браузере.

.properties Ввод

Загрузить

Дополнительные параметрыКонвертироватьОчистить

JSON Вывод

Результат появится здесь...

КопироватьСкачать

Результат появится здесь...

О конвертере Properties в JSON

Формат .properties (key=value, key:value или key value, комментарии # или !) со времён первых версий API java.util.Properties служит стандартом для конфигурации и ресурсных бандлов i18n. Здесь он читается по синтаксису, который задаёт java.util.Properties, — с продолжением строки через завершающий обратный слэш и unicode-последовательностями \uXXXX, — а полученный JSON удобно просматривать, сравнивать или передавать в сборку на JavaScript. Свойство app.cache.ttl=60 при вложении по точкам превращается в { "app": { "cache": { "ttl": 60 } } }, строка "false" после определения типов становится настоящим boolean, а строки # или !, стоящие прямо над свойством, попадают в поле $comments.

Вам также может понадобиться

JSON в Properties

Конвертируйте объекты JSON в формат Java .properties с разворачиванием ключей с точками.

Открыть инструмент

Env в JSON

Конвертируйте .env файлы в JSON с автоопределением типов и вложенными ключами.

Открыть инструмент

JSON Форматер и Валидатор

Форматируйте, проверяйте и визуализируйте данные JSON.

Открыть инструмент

YAML в JSON

Преобразовать YAML в JSON или JSON в YAML.

Открыть инструмент

Как конвертировать .properties в JSON

  1. 1

    Вставьте файл .properties

    Скопируйте содержимое в поле ввода или откройте иконкой колбы пример с комментарием и ключами app.*. Ключ от значения может отделяться знаком =, двоеточием или пробелом.

  2. 2

    Настройте разбор

    В Advanced options можно отключить определение типов или вложение по точкам, сменить разделитель и решить, хранить комментарии в $comments или пропускать их.

  3. 3

    Получите JSON

    Строки-продолжения с обратным слэшем в конце склеиваются, escape-последовательности вроде \u00e9 и \: раскодируются, каждый блок комментариев, примыкающий к свойству, привязывается к нему — и только после этого ключи с точками вкладываются друг в друга.

  4. 4

    Сохраните результат

    Скопируйте JSON или скачайте файл .json; иконка смены направления ведёт на JSON в Properties для обратной конвертации.

Источники

  • Java SE — java.util.Properties

    Официальная документация Java API, определяющая формат файла .properties, включая синтаксис комментариев, разделители и правила переноса строк, которым следует этот парсер.

  • RFC 8259 — The JSON Data Interchange Format

    Спецификация IETF для формата JSON, который производит этот инструмент.

Связанные инструменты

Properties в JSON — часто задаваемые вопросы

Насколько точно соблюдается формат Java Properties?
Ключи и значения разбираются по правилам java.util.Properties: ключ и значение разделяются =, : или пробельным символом, комментарии начинаются с # или !, многострочное значение продолжается через обратный слэш в конце строки, а \uXXXX раскодируются. Если ключ встречается дважды, берётся последнее значение — как в Properties.load. Полной копией файла JSON при этом не будет: пустые строки и комментарии, которые не стоят прямо над свойством, отбрасываются.
Раскодируются ли последовательности \uXXXX?
Да. Например, \u00e9 превращается в é, а экранированное двоеточие \: — в обычный символ :. Поэтому ресурсные бандлы, где не-ASCII текст записан escape-последовательностями, попадают в JSON читаемым текстом.
Как читаются многострочные значения?
Строка, которая заканчивается обратным слэшем, продолжается на следующей: парсер склеивает такие строки в одно значение так же, как это делает java.util.Properties.
Станет ли номер версии 1.2.3 числом?
Нет, 1.2.3 остаётся строкой, как и 1.0 или 007: превращение в число изменило бы их при обратной записи. Числами становятся только обычные десятичные значения — 8080, 0.75, — а булевыми только точные true и false. Если отключить Infer types, текстом останется всё.
Как server.port=8080 превращается во вложенный объект?
При включённом «Dotted keys → nested» (по умолчанию разделитель — точка) server.port=8080 даёт { "server": { "port": 8080 } }. Отключив переключатель, вы получите одно плоское поле с ключом server.port.
Сохраняются ли комментарии # и !?
Только те, что относятся к свойству: блок строк # или ! прямо над ключом, без пустой строки между ними, попадает в $comments под путём этого ключа. Шапка файла, комментарий с пустой строкой после него, комментарий в конце файла и сами пустые строки не сохраняются. Значение «Ignore» для Comments в Advanced options даёт чистый JSON только со значениями.
Отправляется ли файл на сервер?
Нет, разбор целиком локальный, по сети ничего не уходит. Это важно для файлов properties с внутренними именами хостов или учётными данными.
.properties или JSON — в чём разница?
Java .properties — построчный текст «ключ-значение» для конфигурации приложений и ресурсных бандлов i18n, а JSON изначально поддерживает вложенность и типизированные значения. После конвертации файлы properties можно сравнивать как структурированные данные или импортировать в инструменты JavaScript/TypeScript, которые ждут JSON.