C#:
Робота з TOML
Як це зробити:
Спочатку встановіть парсер TOML, такий як Tomlyn
. Використовуйте ваш менеджер пакунків:
dotnet add package Tomlyn
Далі, парсіть файл TOML:
using Tomlyn;
using Tomlyn.Model;
using System;
var tomlContent = @"
[owner]
name = 'Том Престон-Вернер'
dob = 1979-05-27T07:32:00Z";
var tomlTable = Toml.Parse(tomlContent).ToModel();
Console.WriteLine($"Власник: {tomlTable["owner"]["name"]}");
// Вивід:
// Власник: Том Престон-Вернер
Тепер створіть та запишіть TOML:
using Tomlyn;
using Tomlyn.Syntax;
using System;
using System.IO;
var doc = new DocumentSyntax
{
Tables =
{
new TableSyntax("owner")
{
Items =
{
{ "name", "Том Престон-Вернер" },
{ "dob", "1979-05-27T07:32:00Z" }
}
}
}
};
var tomlString = doc.ToString();
File.WriteAllText("config.toml", tomlString);
Console.WriteLine("TOML записано до config.toml");
// Вивід:
// TOML записано до config.toml
Поглиблений вступ:
TOML був створений Томом Престон-Вернером, співзасновником GitHub, приблизно в 2013 році як реакція на обмеження існуючих форматів, таких як YAML та JSON у налаштуваннях конфігурації. Він спеціально розроблений для конфігів з сильним акцентом на те, щоб бути простим і недвозначним.
Альтернативні формати конфігурації включають YAML, JSON і XML. Однак, TOML виділяється тим, що є більш дружнім до людини, особливо для файлів конфігурації, де редагування вручну є загальноприйнятим. JSON, хоч і є універсальним, менш зручний для читання у складних конфігаціях, а XML є многослівним. YAML, хоч і схожий за читабельністю, може стати складним з великим використанням пробілів і має ризики безпеки з певним вмістом.
З точки зору імплементації, TOML зосереджений на чіткій відповідності до хеш-таблиці, що робить вилучення даних передбачуваним. З випуском версії 1.0.0, TOML закріпив свою специфікацію, покращуючи стабільність та підтримку інструментів.
Дивіться також:
- Офіційний репозиторій TOML на GitHub і специфікації: github.com/toml-lang/toml
- Tomlyn, бібліотека .NET: github.com/xoofx/Tomlyn