Flexo is a simple JSON parser/encoder for .NET and Mono.
Flexo can be found on nuget:
PM> Install-Package Flexo
Loading and encoding JSON:
var element = JElement.Load("{}");
element.ToString().ShouldEqual("{}");
Building out JSON elements:
var array = new JElement(RootType.Array);
array.AddArrayValueElement(true).Value.ShouldEqual(true);
array.AddArrayValueElement(5).Value.ShouldEqual(5);
array.AddArrayValueElement("hai").Value.ShouldEqual("hai");
array.AddArrayValueElement(null).Value.ShouldEqual(null);
array.AddArrayElement(ElementType.Object);
array.AddArrayElement(ElementType.Array);
array.Count().ShouldEqual(6);
var @object = new JElement(RootType.Object);
@object.AddMember("boolField", ElementType.Boolean).Name.ShouldEqual("boolField");
@object.AddMember("numberField", ElementType.Number).Name.ShouldEqual("boolField");
@object.AddMember("stringField", ElementType.String).Name.ShouldEqual("stringField");
@object.AddMember("nullField", ElementType.Null).Name.ShouldEqual("nullField");
@object.AddMember("objectField", ElementType.Object).Name.ShouldEqual("objectField");
@object.AddMember("arrayField", ElementType.Array).Name.ShouldEqual("arrayField");
@object.Count().ShouldEqual(6);
Thanks to JetBrains for providing OSS licenses!