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 закріпив свою специфікацію, покращуючи стабільність та підтримку інструментів.

Дивіться також: