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:
- Repositório Oficial e Especificação do TOML no GitHub: github.com/toml-lang/toml
- Tomlyn, a biblioteca .NET: github.com/xoofx/Tomlyn