프로그래머를 위한 TOML 다루기

C#:
프로그래머를 위한 TOML 다루기

방법:

먼저, Tomlyn 같은 TOML 파서를 설치하세요. 패키지 관리자를 사용합니다:

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("config.toml에 TOML 작성됨");
// 출력:
// config.toml에 TOML 작성됨

심층 탐색:

TOML은 구성 설정에서 YAML과 JSON과 같은 기존 형식의 한계에 대한 반응으로 GitHub의 공동 창립자인 Tom Preston-Werner에 의해 2013년경에 만들어졌습니다. 이는 명확하고 모호하지 않은 것에 중점을 둔 구성을 위해 특별히 설계되었습니다.

다른 구성 형식으로는 YAML, JSON, 그리고 XML이 있습니다. 그러나 TOML은 특히 수동으로 편집하는 구성 파일에서 더 인간 친화적이라는 점에서 두드러집니다. JSON은 흔하긴 하지만 복잡한 구성의 경우 가독성이 떨어지고, XML은 장황합니다. YAML도 가독성 면에서 비슷하지만, 공백 사용이 많고 특정 내용에 대한 보안 위험이 있어 복잡해질 수 있습니다.

구현 측면에서 TOML은 해시 테이블에 깨끗하게 매핑되는 데 중점을 둬 데이터 추출이 예측 가능하도록 합니다. 1.0.0 버전이 출시되면서 TOML은 그 명세를 공고히 하고 안정성 및 도구 지원을 개선했습니다.

참고: