C#:
Trabalhando com TOML

Como Fazer:

Primeiro, instale um analisador de TOML como o Tomlyn. Use seu gerenciador de pacotes:

dotnet add package Tomlyn

Em seguida, analise um arquivo 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($"Proprietário: {tomlTable["owner"]["name"]}");
// Saída:
// Proprietário: Tom Preston-Werner

Agora, crie e escreva 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 escrito em config.toml");
// Saída:
// TOML escrito em config.toml

Aprofundamento:

O TOML foi criado por Tom Preston-Werner, co-fundador do GitHub, por volta de 2013 como uma reação às limitações de formatos existentes como YAML e JSON em configurações. Ele é especificamente projetado para configurações com uma forte ênfase em ser direto e inequívoco.

Formatos alternativos de configuração incluem YAML, JSON e XML. No entanto, TOML se destaca por ser mais amigável para humanos, particularmente para arquivos de configuração onde a edição manual é comum. JSON, embora onipresente, é menos legível para configurações complexas, e XML é verboso. YAML, embora similar em legibilidade, pode se complicar pelo uso intenso de espaços em branco e apresenta riscos de segurança com certos conteúdos.

Em termos de implementação, o TOML foca em mapear de forma limpa para uma tabela hash, tornando a extração de dados previsível. Com o lançamento da versão 1.0.0, o TOML solidificou sua especificação, melhorando a estabilidade e o suporte de ferramentas.

Veja Também: