YamlDotNet.System.Text.Json
1.3.4
dotnet add package YamlDotNet.System.Text.Json --version 1.3.4
NuGet\Install-Package YamlDotNet.System.Text.Json -Version 1.3.4
<PackageReference Include="YamlDotNet.System.Text.Json" Version="1.3.4" />
paket add YamlDotNet.System.Text.Json --version 1.3.4
#r "nuget: YamlDotNet.System.Text.Json, 1.3.4"
// Install YamlDotNet.System.Text.Json as a Cake Addin
#addin nuget:?package=YamlDotNet.System.Text.Json&version=1.3.4
// Install YamlDotNet.System.Text.Json as a Cake Tool
#tool nuget:?package=YamlDotNet.System.Text.Json&version=1.3.4
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.
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 was computed. net8.0-android 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. |
.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 (>= 8.0.0)
- YamlDotNet (>= 13.7.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.