Class JsonWriterExtensions
- Namespace
- Codebelt.Extensions.Newtonsoft.Json
- Assembly
- Codebelt.Extensions.Newtonsoft.Json.dll
Extension methods for the Newtonsoft.Json.JsonWriter.
public static class JsonWriterExtensions
- Inheritance
-
JsonWriterExtensions
Examples
The following example demonstrates writing JSON objects and property names using extension methods.
using System;
using System.IO;
using Codebelt.Extensions.Newtonsoft.Json;
using Newtonsoft.Json;
namespace Examples;
class JsonWriterExtensionsExample
{
static void Main()
{
using var sw = new StringWriter();
using var jw = new JsonTextWriter(sw);
var serializer = JsonSerializer.Create();
jw.WriteStartObject();
jw.WritePropertyName("user");
jw.WriteStartObject();
jw.WritePropertyName("name");
jw.WriteValue("Alice");
jw.WriteEndObject();
jw.WritePropertyName("metadata");
var metadataObject = new { version = "1.0", timestamp = DateTime.UtcNow };
jw.WriteObject(metadataObject, serializer);
jw.WriteEndObject();
Console.WriteLine(sw.ToString());
}
}
Methods
WriteObject(JsonWriter, object, JsonSerializer)
Serializes the specified value and writes the JSON structure using the specified writer.
public static void WriteObject(this JsonWriter writer, object value, JsonSerializer serializer)
Parameters
writerJsonWriterThe Newtonsoft.Json.JsonWriter used to write the JSON structure.
valueobjectThe Object to serialize.
serializerJsonSerializerThe calling Newtonsoft.Json.JsonSerializer.
WritePropertyName(JsonWriter, string, JsonSerializer, bool)
Writes the property name of a name/value pair of a JSON object.
public static void WritePropertyName(this JsonWriter writer, string name, JsonSerializer serializer, bool escape = false)
Parameters
writerJsonWriterThe Newtonsoft.Json.JsonWriter used to write the JSON structure.
namestringThe name of the property.
serializerJsonSerializerThe calling Newtonsoft.Json.JsonSerializer.
escapeboolA flag to indicate whether the text should be escaped when it is written as a JSON property name.
Remarks
In order to support an assigned Newtonsoft.Json.Serialization.NamingStrategy to serializer, make sure Newtonsoft.Json.JsonSerializer.ContractResolver is assignable from Newtonsoft.Json.Serialization.DefaultContractResolver.