YamlDotNet.System.Text.Json
1.6.5
dotnet add package YamlDotNet.System.Text.Json --version 1.6.5
NuGet\Install-Package YamlDotNet.System.Text.Json -Version 1.6.5
<PackageReference Include="YamlDotNet.System.Text.Json" Version="1.6.5" />
paket add YamlDotNet.System.Text.Json --version 1.6.5
#r "nuget: YamlDotNet.System.Text.Json, 1.6.5"
// Install YamlDotNet.System.Text.Json as a Cake Addin #addin nuget:?package=YamlDotNet.System.Text.Json&version=1.6.5 // Install YamlDotNet.System.Text.Json as a Cake Tool #tool nuget:?package=YamlDotNet.System.Text.Json&version=1.6.5
YamlDotNet.System.Text.Json
What is this?
This project contains components which allow YamlDotNet to handle System.Text.Json objects and serialize them to YAML and back.
Supported Objects:
- System.Text.Json.Nodes.JsonNode
- System.Text.Json.Nodes.JsonArray
- System.Text.Json.Nodes.JsonObject
- System.Text.Json.Nodes.JsonValue
- System.Text.Json.JsonElement
- System.Text.Json.JsonDocument
- System.Text.Json.Serialization.JsonIgnoreAttribute
- Conditions - condition that must be met before a property will be ignored
- Always = Ignore (Default)
- Never = Serialize
- WhenWritingNull = Serialize
- WhenWritingDefault = Serialize
- Conditions - condition that must be met before a property will be ignored
- System.Text.Json.Serialization.JsonPropertyNameAttribute
- Name - Specifies the property name that is present in the JSON/YAML when serializing and deserializing.
- System.Text.Json.Serialization.JsonPropertyOrderAttribute
- Order - Sets the serialization order of the property.
- System.Text.Json.Serialization.JsonStringEnumMemberNameAttribute
- Name - Sets the value for the Enum Member that is present in the JSON/YAML when serializing and deserializing.
Installation
dotnet add package YamlDotNet.System.Text.Json
YamlConverter
YamlConverter - exposes Serialize() and Deserialize<T>() methods
// to serialize a object to yaml
var yaml = YamlConverter.Serialize(someObject);
// to serialize json to yaml
var yaml = YamlConverter.SerializeJson(someJson);
// to load your object as a typed object
var obj = YamlConverter.Deserialize<MyTypedObject>(yaml);
How to use manually
SystemTextJsonYamlTypeConverter
This is a type converter for reading and writing System.Text.Json objects.
.WithTypeConverter(new SystemTextJsonYamlTypeConverter())
SystemTextJsonTypeInspector
This is a type inspector for reading System.Text.Json Attributes
.WithTypeInspector(x => new SystemTextJsonTypeInspector(x))
Example:
var serializer = new SerializerBuilder()
.WithTypeConverter(new SystemTextJsonYamlTypeConverter())
.WithTypeInspector(x => new SystemTextJsonTypeInspector(x))
.Build();
var deserializer = new DeserializerBuilder()
.WithTypeConverter(new SystemTextJsonYamlTypeConverter())
.WithTypeInspector(x => new SystemTextJsonTypeInspector(x))
.Build();
Inspired By
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 is compatible. 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. net9.0 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 9.0.0)
- YamlDotNet (>= 16.3.0)
-
net8.0
- System.Text.Json (>= 9.0.0)
- YamlDotNet (>= 16.3.0)
-
net9.0
- YamlDotNet (>= 16.3.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on YamlDotNet.System.Text.Json:
Package | Downloads |
---|---|
Devantler.KubernetesGenerator.Core
Package Description |
|
MDAT
Markdown Auto-Tests for .net 6+, based on MSTestsV2 DataSource. |
|
CodeWF.Tools
收集、分享常用工具类 |
|
Cezanne.Core
Package Description |
|
Cézanne.Core
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on YamlDotNet.System.Text.Json:
Repository | Stars |
---|---|
Azure/apiops
APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.
|
|
IvanJosipovic/KubeUI
Kubernetes User Interface
|
Version | Downloads | Last updated |
---|---|---|
1.6.5 | 182 | 12/23/2024 |
1.6.4 | 4,886 | 11/13/2024 |
1.6.3 | 523 | 11/11/2024 |
1.6.2 | 7,091 | 10/9/2024 |
1.6.1 | 1,508 | 9/26/2024 |
1.6.0 | 1,453 | 9/23/2024 |
1.5.1 | 231 | 9/23/2024 |
1.5.0 | 6,558 | 8/1/2024 |
1.4.2 | 7,086 | 7/9/2024 |
1.4.1 | 5,793 | 6/27/2024 |
1.4.0 | 8,770 | 4/13/2024 |
1.3.5 | 1,451 | 2/13/2024 |
1.3.4 | 5,418 | 11/15/2023 |
1.3.3 | 6,533 | 9/10/2023 |
1.3.2 | 328 | 8/28/2023 |
1.3.1 | 7,891 | 7/7/2023 |
1.3.0 | 2,438 | 4/26/2023 |
1.2.1 | 1,370 | 1/23/2023 |
1.2.0 | 10,373 | 9/12/2022 |
1.1.0 | 429 | 9/12/2022 |
1.0.0 | 729 | 8/15/2022 |