All Projects → xoofx → Sharpyaml

xoofx / Sharpyaml

Licence: other
SharpYaml is a .NET library for YAML compatible with CoreCLR

Projects that are alternatives of or similar to Sharpyaml

Command Line Api
Command line parsing, invocation, and rendering of terminal output.
Stars: ✭ 2,418 (+1014.29%)
Mutual labels:  parser, dotnet-standard, dotnet-core
Spark
.NET for Apache® Spark™ makes Apache Spark™ easily accessible to .NET developers.
Stars: ✭ 1,721 (+693.09%)
Mutual labels:  dotnet-standard, dotnet-core
Etl.net
Mass processing data with a complete ETL for .net developers
Stars: ✭ 129 (-40.55%)
Mutual labels:  dotnet-standard, dotnet-core
Gelatin
Transform text files to XML, JSON, or YAML
Stars: ✭ 150 (-30.88%)
Mutual labels:  yaml, parser
Efcore
EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.
Stars: ✭ 10,838 (+4894.47%)
Mutual labels:  dotnet-standard, dotnet-core
Sio.core
✔ [ SIOC ] Swastika I/O Core is an all in one platform (e.g CMS, eCommerce, Forum, Q&A, CRM...) ASP.NET Core / Dotnet Core System based on SIOH Framework.
Stars: ✭ 121 (-44.24%)
Mutual labels:  dotnet-standard, dotnet-core
Entityframeworkcore.cacheable
EntityFrameworkCore second level cache
Stars: ✭ 138 (-36.41%)
Mutual labels:  dotnet-standard, dotnet-core
D Yaml
YAML parser and emitter for the D programming language
Stars: ✭ 101 (-53.46%)
Mutual labels:  yaml, parser
Rafty
Implementation of RAFT consensus in .NET core
Stars: ✭ 182 (-16.13%)
Mutual labels:  dotnet-standard, dotnet-core
Dotnet Etcd
A C# .NET (dotnet) GRPC client for etcd v3 +
Stars: ✭ 157 (-27.65%)
Mutual labels:  dotnet-standard, dotnet-core
Theraot
Backporting .NET and more: LINQ expressions in .net 2.0 - nuget Theraot.Core available.
Stars: ✭ 112 (-48.39%)
Mutual labels:  dotnet-standard, dotnet-core
Corehook
A library that simplifies intercepting application function calls using managed code and the .NET Core runtime
Stars: ✭ 191 (-11.98%)
Mutual labels:  dotnet-standard, dotnet-core
Raft.net
Implementation of RAFT distributed consensus algorithm among TCP Peers on .NET / .NETStandard / .NETCore / dotnet
Stars: ✭ 112 (-48.39%)
Mutual labels:  dotnet-standard, dotnet-core
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (-44.24%)
Mutual labels:  dotnet-standard, dotnet-core
Yamldotnet
YamlDotNet is a .NET library for YAML
Stars: ✭ 1,382 (+536.87%)
Mutual labels:  yaml, parser
Wopihost
ASP.NET Core MVC implementation of the WOPI protocol. Enables integration with WOPI clients such as Office Online Server.
Stars: ✭ 132 (-39.17%)
Mutual labels:  dotnet-standard, dotnet-core
Swurg
Parse OpenAPI documents into Burp Suite for automating OpenAPI-based APIs security assessments (approved by PortSwigger for inclusion in their official BApp Store).
Stars: ✭ 94 (-56.68%)
Mutual labels:  yaml, parser
Jsonmasking
Replace fields in json, replacing by something, don't care if property is in depth objects. Very useful to replace passwords credit card number, etc.
Stars: ✭ 95 (-56.22%)
Mutual labels:  dotnet-standard, dotnet-core
Appmetrics
App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.
Stars: ✭ 1,986 (+815.21%)
Mutual labels:  dotnet-standard, dotnet-core
Rapidyaml
Rapid YAML - a library to parse and emit YAML, and do it fast.
Stars: ✭ 183 (-15.67%)
Mutual labels:  yaml, parser

SharpYaml Build Status NuGet

SharpYaml is a .NET library that provides a YAML parser and serialization engine for .NET objects, compatible with CoreCLR.

Usage

var serializer = new Serializer();
var text = serializer.Serialize(new { List = new List<int>() { 1, 2, 3 }, Name = "Hello", Value = "World!" });
Console.WriteLine(text);

Output:

List:
  - 1
  - 2
  - 3
Name: Hello
Value: World!

Features

SharpYaml is a fork of YamlDotNet and is adding the following features:

  • Supports for multiple .NET frameworks:
    • .NET 3.5
    • .NET PCL Profile 328 (portable-net40+sl5+win8+wpa81+wp8)
    • .NET 4.5+
    • .NET Standard 1.3+ and .NET Standard 2.0+
  • Memory allocation and GC pressure improved
  • Completely rewritten serialization/deserialization engine
  • A single interface IYamlSerializable for implementing custom serializers, along IYamlSerializableFactory to allow dynamic creation of serializers. Registration can be done through SerializerSettings.RegisterSerializer and SerializerSettings.RegisterSerializerFactory
    • Can inherit from ScalarSerializerBase to provide custom serialization to/from a Yaml scalar
  • Supports for custom collection that contains user properties to serialize along the collection.
  • Supports for Yaml 1.2 schemas
  • A centralized type system through ITypeDescriptor and IMemberDescriptor
  • Highly configurable serialization using SerializerSettings (see usage)
    • Add supports to register custom attributes on external objects (objects that you can't modify) by using SerializerSettings.Register(memberInfo, attribute)
    • Several options and settings: EmitAlias, IndentLess, SortKeyForMapping, EmitJsonComptible, EmitCapacityForList, LimitPrimitiveFlowSequence, EmitDefaultValues
    • Add supports for overriding the Yaml style of serialization (block or flow) with SerializerSettings.DefaultStyle and SerializerSettings.DynamicStyleFormat
  • Supports for registering an assembly when discovering types to deserialize through SerializerSettings.RegisterAssembly
  • Supports a IObjectSerializerBackend that allows to hook a global rewriting for all YAML serialization types (scalar, sequence, mapping) when serializing/deserializing to/from a .NET type.

Download

SharpYaml is available on NuGet

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].