C#:
การทำงานร่วมกับ TOML
วิธีการ:
ก่อนอื่น, ติดตั้งตัวแยกวิเคราะห์ TOML เช่น Tomlyn
ใช้ package manager ของคุณ:
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 ถูกสร้างโดย Tom Preston-Werner ผู้ร่วมก่อตั้ง GitHub ในช่วงปี 2013 เป็นการตอบสนองต่อข้อจำกัดของรูปแบบที่มีอยู่ เช่น YAML และ JSON ในการตั้งค่าการกำหนดค่า เป็นการออกแบบโดยเฉพาะสำหรับการกำหนดค่า โดยเน้นความเรียบง่ายและไม่คลุมเครือ
รูปแบบการกำหนดค่าอื่น ๆ ได้แก่ YAML, JSON, และ XML แต่ TOML โดดเด่นด้วยความเป็นมิตรกับมนุษย์ โดยเฉพาะอย่างยิ่งสำหรับไฟล์การกำหนดค่าที่การแก้ไขด้วยมือเป็นเรื่องปกติ JSON ในขณะที่เป็นที่นิยมอย่างกว้างขวาง แต่มีความสามารถในการอ่านน้อยกว่าสำหรับการกำหนดค่าที่ซับซ้อน และ XML เป็นอักขระชุดคำสั่งยาวมาก YAML ถึงแม้ว่าจะอ่านง่ายเช่นกัน แต่สามารถกลายเป็นปัญหาได้เมื่อใช้งาน whitespace อย่างหนักและมีความเสี่ยงด้านความปลอดภัยกับเนื้อหาบางประเภท
ในเชิงการทำงาน, TOML เน้นที่การแมปไปยัง hash table โดยราบรื่น ทำให้การสกัดข้อมูลเป็นไปอย่างที่คาดหวัง ด้วยการปล่อยเวอร์ชัน 1.0.0, TOML ได้รับการขึ้นรูปข้อกำหนดของตนเอง ช่วยปรับปรุงความเสถียรและการสนับสนุนเครื่องมือ
ดูเพิ่มเติม:
- แหล่งข้อมูลอย่างเป็นทางการของ TOML ใน GitHub และ Spec: github.com/toml-lang/toml
- Tomlyn, ไลบรารี .NET: github.com/xoofx/Tomlyn