В мире разработки конфигурационные файлы играют важную роль. Они позволяют отделить логику приложения от настроек, делая код более гибким и удобным в поддержке. Существует множество форматов конфигурационных файлов, таких как INI, JSON, YAML и XML. Однако, в последнее время набирает популярность формат TOML (Tom's Obvious, Minimal Language).
TOML позиционируется как "config file format for humans", то есть формат, ориентированный на читаемость и простоту редактирования человеком. Он особенно популярен в сообществах Python и Rust. TOML сочетает в себе преимущества INI (простота) и JSON/YAML (структурированность), предлагая более компактную и понятную альтернативу XML.
Если вы разрабатываете на Delphi или Pascal и нуждаетесь в удобном способе работы с TOML, то библиотека toml-delphi может стать отличным решением.
Что такое toml-delphi?
toml-delphi – это библиотека на Object Pascal (Delphi), предназначенная для парсинга и генерации TOML-файлов. Она предоставляет простой и эффективный способ интеграции TOML в ваши Delphi и Pascal проекты.
Основные возможности toml-delphi:
Соответствие стандарту TOML v1.0.0: Библиотека полностью соответствует спецификации TOML версии 1.0.0, что гарантирует корректную обработку TOML-файлов.
Высокая производительность: Используется однопоточный токенизатор и лексер, не использующий регулярные выражения, что обеспечивает быструю обработку TOML-документов.
Преобразование в TJSONObject: TOML-документы преобразуются в стандартные объекты TJSONObject из RTL Delphi, что позволяет легко перемещаться по структуре, манипулировать данными и выполнять запросы.
Обратное преобразование: Включен TTOMLWriter для преобразования TJSONObject обратно в TOML.
(Де)сериализация объектов: Поддерживается простая (де)сериализация объектов и записей Delphi из/в TOML.
MIT License: Библиотека распространяется под лицензией MIT, что позволяет использовать её в коммерческих и некоммерческих проектах без ограничений.
Примеры использования toml-delphi:
1. Парсинг TOML-файла:
uses
System.JSON,
TOML;
var
JsonObject: TJSONObject;
FileName: string;
begin
FileName := 'config.toml';
JsonObject := TJSONObject.FromTOMLFile(FileName);
// Теперь JsonObject содержит данные из config.toml в формате JSON.
// Вы можете обращаться к данным, например:
Writeln(JsonObject.GetValue('database.server').AsString);
end;
2. Парсинг TOML-строки:
uses
System.JSON,
TOML;
var
JsonObject: TJSONObject;
TOMLstring: string;
begin
TOMLstring := '[database]\nserver = "192.168.1.1"\nports = [ 8001, 8001, 8002 ]';
JsonObject := TJSONObject.FromTOML(TOMLstring);
// Теперь JsonObject содержит данные из TOML-строки.
Writeln(JsonObject.GetValue('database.server').AsString);
end;
Хотя toml-delphi является отличным вариантом, существуют и другие библиотеки для работы с TOML в Delphi и Pascal. Например, можно рассмотреть:
fpTOML: Библиотека для Free Pascal, которая также может быть использована в Delphi.
Выбор библиотеки зависит от ваших конкретных потребностей и предпочтений. toml-delphi выделяется своей простотой использования, высокой производительностью и полной поддержкой стандарта TOML v1.0.0. Она предоставляет удобный способ интеграции TOML в ваши Delphi и Pascal проекты, делая работу с конфигурационными файлами более эффективной и приятной.
Библиотека toml-delphi предоставляет простой и эффективный способ парсинга и генерации TOML-файлов в Delphi и Pascal проектах.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.