Конвертер JSON в Properties

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

Инструмент собирает из JSON-объекта файл Java .properties, который загружают java.util.Properties и Spring Boot. Вложенные объекты становятся ключами через точку, например server.port=8080; разделители и переводы строк экранируются обратным слэшем, чтобы значения без искажений прочитались обратно; карта $comments возвращается в файл строками-комментариями #. Работает в браузере — данные никуда не отправляются.

JSON Ввод

Загрузить

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

.properties Вывод

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

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

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

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

Формат .properties построчный, поэтому сериализатор экранирует всё, что может изменить то, как Java делит строку на ключ и значение: пробел в ключе превращается в \ (обратный слэш и пробел), знаки = и : внутри значения — в \= и \:, а перевод строки — в \n. Ключ и значение соединяются знаком =, вложенные объекты JSON раскладываются в ключи через точку в исходном порядке. Текст за пределами ASCII, например café, пишется в UTF-8, а не escape-последовательностями \uXXXX. Java 9 и новее читают resource bundle в UTF-8, но Properties.load(InputStream) декодирует ISO-8859-1 — в собственном коде загружайте такой файл через Reader в кодировке UTF-8.

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

Properties в JSON

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

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

JSON в Env

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

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

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

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

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

YAML в JSON

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

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

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

  1. 1

    Подготовьте JSON

    Вставьте объект в поле ввода или загрузите иконкой колбы пример { "server": { "port": 8080 } }; ключи верхнего уровня станут именами свойств.

  2. 2

    Выберите разделитель ключей

    В Advanced options можно оставить привычную для Java точку, как в spring.datasource.url, задать другой разделитель или отключить разворачивание — тогда вложенные объекты останутся JSON-текстом.

  3. 3

    Сгенерируйте свойства

    Каждое конечное значение становится строкой key=value; пробелы в ключах, разделители в значениях и переводы строк экранируются обратным слэшем, так что java.util.Properties прочитает ровно те же значения.

  4. 4

    Положите файл в ресурсы проекта

    Скопируйте результат или скачайте файл .properties для src/main/resources. Иконка смены направления превратит его обратно в JSON.

Источники

  • Java SE — java.util.Properties

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

  • RFC 8259 — The JSON Data Interchange Format

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

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

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

Какие символы экранируются?
Пробел в ключе, = и : в значениях и переводы строк записываются с обратным слэшем — например, a\ b=x\=y и note=line1\nline2. Это именно те escape-последовательности, которые java.util.Properties раскодирует при загрузке файла.
Записываются ли кириллица и другие не-ASCII символы как \uXXXX?
Нет, они остаются обычным текстом в UTF-8. Java 9 и новее загружают resource bundle .properties в UTF-8, а вот java.util.Properties#load(InputStream) рассчитывает на ISO-8859-1 — если ваш код использует этот API, читайте файл через load(Reader) с UTF-8.
Подойдёт ли результат как application.properties для Spring Boot?
Да. Spring Boot использует имена свойств через точку, поэтому { "server": { "port": 8080 } } с разделителем по умолчанию даёт server.port=8080.
Какой разделитель ключей выбрать?
Точка по умолчанию соответствует тому, как устроены имена свойств в Java и Spring Boot, например spring.datasource.url. Другой разделитель задаётся в Advanced options, а если отключить разворачивание, вложенный объект запишется одним значением в виде JSON-текста.
Как записываются массивы?
Массив становится одним значением со своим JSON-текстом, например hosts=["a","b"]. Индексная форма Spring Boot (hosts[0]=a) не генерируется.
Сохраняются ли типы у чисел и булевых значений?
В .properties любое значение — строка, поэтому true, false и числа записываются как текст. Properties в JSON при включённом определении типов вернёт им настоящие типы JSON.
Куда деваются записи из $comments?
Записи объекта $comments — например, созданного Properties в JSON — оказываются строками # над соответствующим ключом. Значение «Ignore» для Comments оставляет в выводе только пары key=value.
Уходят ли данные в сеть?
Нет. Разбор и форматирование выполняются в браузере, сетевых запросов с вашими данными нет.