Table of Contents

Struct JsonWriter

Namespace
Nerdbank.Json
Assembly
Nerdbank.Json.dll

Writes JSON values to a UTF-8 buffer.

public ref struct JsonWriter
Inherited Members

Remarks

This type is allocation-conscious and writes UTF-8 directly to an IBufferWriter<T>.

Constructors

JsonWriter(IBufferWriter<byte>)

Initializes a new instance of the JsonWriter struct.

public JsonWriter(IBufferWriter<byte> writer)

Parameters

writer IBufferWriter<byte>

The destination for UTF-8 JSON bytes.

Properties

UnflushedBytes

Gets the number of bytes that have been written but not yet committed flushed to the underlying IBufferWriter<T>.

public readonly int UnflushedBytes { get; }

Property Value

int

WriteIndented

Gets a value indicating whether line breaks and indentation should be written.

public bool WriteIndented { readonly get; init; }

Property Value

bool

Methods

Flush()

Ensures everything previously written has been flushed to the underlying IBufferWriter<T>.

public void Flush()

WriteBase64StringValue(byte[]?)

Writes a JSON Base64 string value.

public void WriteBase64StringValue(byte[]? value)

Parameters

value byte[]

The value to write.

WriteBase64StringValue(ReadOnlySpan<byte>)

Writes a JSON Base64 string value.

public void WriteBase64StringValue(ReadOnlySpan<byte> value)

Parameters

value ReadOnlySpan<byte>

The value to write.

WriteBooleanValue(bool)

Writes a JSON boolean literal.

public void WriteBooleanValue(bool value)

Parameters

value bool

The value to write.

WriteEndArray()

Writes the end of a JSON array.

public void WriteEndArray()

WriteEndObject()

Writes the end of a JSON object.

public void WriteEndObject()

WriteNullValue()

Writes the JSON null literal.

public void WriteNullValue()

WriteNumberValue(byte)

Writes a JSON number value.

public void WriteNumberValue(byte value)

Parameters

value byte

The value to write.

WriteNumberValue(decimal)

Writes a JSON number value.

public void WriteNumberValue(decimal value)

Parameters

value decimal

The value to write.

WriteNumberValue(double)

Writes a JSON number value.

public void WriteNumberValue(double value)

Parameters

value double

The value to write.

WriteNumberValue(short)

Writes a JSON number value.

public void WriteNumberValue(short value)

Parameters

value short

The value to write.

WriteNumberValue(int)

Writes a JSON number value.

public void WriteNumberValue(int value)

Parameters

value int

The value to write.

WriteNumberValue(long)

Writes a JSON number value.

public void WriteNumberValue(long value)

Parameters

value long

The value to write.

WriteNumberValue(sbyte)

Writes a JSON number value.

public void WriteNumberValue(sbyte value)

Parameters

value sbyte

The value to write.

WriteNumberValue(float)

Writes a JSON number value.

public void WriteNumberValue(float value)

Parameters

value float

The value to write.

WriteNumberValue(ushort)

Writes a JSON number value.

public void WriteNumberValue(ushort value)

Parameters

value ushort

The value to write.

WriteNumberValue(uint)

Writes a JSON number value.

public void WriteNumberValue(uint value)

Parameters

value uint

The value to write.

WriteNumberValue(ulong)

Writes a JSON number value.

public void WriteNumberValue(ulong value)

Parameters

value ulong

The value to write.

WritePropertyName(string)

Writes a JSON property name and name separator.

public void WritePropertyName(string name)

Parameters

name string

The property name to write.

WriteRawValue(string)

Writes a raw JSON token.

public void WriteRawValue(string value)

Parameters

value string

The raw JSON text to write.

WriteStartArray()

Writes the start of a JSON array.

public void WriteStartArray()

WriteStartObject()

Writes the start of a JSON object.

public void WriteStartObject()

WriteStringValue(ReadOnlySpan<char>)

Writes a JSON string value.

public void WriteStringValue(ReadOnlySpan<char> value)

Parameters

value ReadOnlySpan<char>

The value to write.

WriteStringValue(string?)

Writes a JSON string value.

public void WriteStringValue(string? value)

Parameters

value string

The value to write.

WriteValueSeparator()

Writes a JSON value separator.

public void WriteValueSeparator()