Comments (3)
I think the closest you could get right now is serialize as json. It would wrap everything in quotes though. However most log aggregators can easily read json.
from yamldotnet.
I just figured this out for you, using a custom event emitter you can set the style of the mapping to flow.
using YamlDotNet.Core;
using YamlDotNet.Core.Events;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.EventEmitters;
var serializer = new SerializerBuilder()
.WithEventEmitter(inner => new MappingNodeEventEmitter(inner), where => where.OnBottom())
.Build();
var test = new Log
{
Author = "test",
Changes = new[] {
new Change{
Message = "Test1",
Type = "Tweak"
},
new Change{
Message = "Test2",
Type = "Tweak"
}
}
};
var serialized = serializer.Serialize(test);
Console.WriteLine(serialized);
class MappingNodeEventEmitter : ChainedEventEmitter
{
public MappingNodeEventEmitter(IEventEmitter nextEmitter) : base(nextEmitter)
{
}
public override void Emit(MappingStartEventInfo eventInfo, IEmitter emitter)
{
if (eventInfo.Source.StaticType == typeof(Change))
{
eventInfo.Style = MappingStyle.Flow;
}
base.Emit(eventInfo, emitter);
}
}
class Log
{
public string Author { get; set; }
public Change[] Changes { get; set; }
}
class Change
{
public string Message { get; set; }
public string Type { get; set; }
}
Results in
Author: test
Changes:
- {Message: Test1, Type: Tweak}
- {Message: Test2, Type: Tweak}
from yamldotnet.
This is just what i needed. I already got on the trail of EventEmitter, but I still didn't understand how I could achieve such a result until you showed up. I really appreciate your help, @EdwardCooke .
from yamldotnet.
Related Issues (20)
- Invalid date format used in serialized JSON HOT 2
- YamlDotNet does not write accurately equal to yaml being loaded HOT 1
- JsonCompatible serializer is not Json compatible HOT 4
- Is the IDeserializer thread safe? HOT 2
- Update benchmark file
- 15.1.0 EnsureRoundTrip no longer works without tag mapping and protected default constructors HOT 4
- yamldotnet is missing NuGet package README file
- Json Compatible Serialization does not produce JSON for nodes.
- Including (parts of) another YAML file HOT 12
- Serilizing an object with tags similar to AWS Cloudformation HOT 4
- FSharp deserialization of records with optional record fields HOT 3
- Overriding the name of a type dynamically HOT 2
- ObjectNodeDeserializer: Naming Convention Error on Deserialization HOT 2
- Set license expression on nuget package HOT 1
- Improve nuget package readme HOT 2
- Serialization / deserialization is not thread safe HOT 2
- Very large files fail to parse HOT 6
- Using ```YamlStream``` will cause "property not found" in ```IDeserializer.Deserialize()``` HOT 1
- Empty line in comments HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yamldotnet.