C#:
Работа с TOML

Как сделать:

Сначала установите парсер TOML, например, Tomlyn. Используйте ваш менеджер пакетов:

dotnet add package Tomlyn

Затем разберите TOML файл:

using Tomlyn;
using Tomlyn.Model;
using System;

var tomlContent = @"
[owner]
name = 'Tom Preston-Werner'
dob = 1979-05-27T07:32:00Z";

var tomlTable = Toml.Parse(tomlContent).ToModel();

Console.WriteLine($"Владелец: {tomlTable["owner"]["name"]}");
// Вывод:
// Владелец: Tom Preston-Werner

Теперь создайте и запишите TOML:

using Tomlyn;
using Tomlyn.Syntax;
using System;
using System.IO;

var doc = new DocumentSyntax
{
    Tables =
    {
        new TableSyntax("owner")
        {
            Items =
            {
                { "name", "Tom Preston-Werner" },
                { "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 утвердил свои спецификации, улучшив стабильность и поддержку инструментария.

Смотрите также: