HKW.TOML 1.1.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package HKW.TOML --version 1.1.7
NuGet\Install-Package HKW.TOML -Version 1.1.7
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HKW.TOML" Version="1.1.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HKW.TOML --version 1.1.7
#r "nuget: HKW.TOML, 1.1.7"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HKW.TOML as a Cake Addin
#addin nuget:?package=HKW.TOML&version=1.1.7

// Install HKW.TOML as a Cake Tool
#tool nuget:?package=HKW.TOML&version=1.1.7

HKWToml

GitHub
HKWToml 是使用 C# 编写的
包含有 TOML 的读取和编写, 序列化反序列化, 生成 C# 实体类等功能
其中 读取器和编写器 修改至Tommy
可以添加单独的 TomlParse.cs 文件以只使用读取器和编写器功能
或者从NuGet包中获取完整功能

特征

  • 完全实现 TOML 1.0.0 规范
  • 对解析和保存注释的基本支持
  • 支持.NET 6+,Mono,.NET Core!

如何使用

测试文件
测试 Toml 数据
测试类

解析 Toml 文件

TomlTable table = TOML.Parse(TomlExample.ExampleData);
//TomlTable table = TOML.ParseFromFile(TomlExample.ExampleFile);

string title = table["title"].AsString;
string titleComment = table["title"].Comment;
List<int> numbers = table["integers"].AsList.Select(node => node.AsInt32).ToList();

创建 TomlTable

TomlTable table =
    new()
    {
        new TomlString("TOML example \\U0001F60A")
        {
            Comment = "Simple key/value with a string."
        },
        new TomlArray() { 42, 0x42, 042, 0b0110 }
    };

从 TOML 文件 生成 C# 的类

生成相关设置请查看TomlAsClassesOptions

TomlTable table = TOML.Parse(TomlExample.ExampleData);
string classString = TomlAsClasses.Generate(table, "ClassExample");
Console.WriteLine(classString);

TOML 反序列化

反序列化相关设置请查看TomlDeserializerOptions

TomlTable table = TOML.Parse(TomlExample.ExampleData);
ClassExample example = TomlDeserializer.Deserialize<ClassExample>(table);

TOML 序列化

序列化相关设置请查看TomlSerializerOptions

TomlTable table = TOML.Parse(TomlExample.ExampleData);
ClassExample example = TomlDeserializer.Deserialize<ClassExample>(table);
TomlTable serializeTable = TomlSerializer.Serialize(example);
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.1.0 115 1/19/2024
2.0.0 130 12/21/2023
1.3.1 146 11/22/2023
1.3.0 113 10/9/2023
1.2.1 116 9/20/2023
1.2.0 122 8/22/2023
1.1.7 137 5/8/2023