Class ByteArrayConverter
only needed because this functionality seems to be broken in JSON.NET 10.0.3
public class ByteArrayConverter : JsonConverter
- Inheritance
-
JsonConverterByteArrayConverter
- Inherited Members
-
JsonConverter.CanRead
Properties
CanWrite
This converter writes as well as reads.
public override bool CanWrite { get; }
Property Value
Methods
CanConvert(Type)
Handles byte[] and nothing else.
public override bool CanConvert(Type objectType)
Parameters
objectTypeTypeThe type being considered.
Returns
- bool
True for byte[].
ReadJson(JsonReader, Type, object?, JsonSerializer)
Read a byte array from base64, accepting either a bare string or an object carrying "$value".
public override object? ReadJson(JsonReader reader, Type objectType, object? existingValue, JsonSerializer serializer)
Parameters
readerJsonReaderThe reader positioned at the value.
objectTypeTypeThe target type.
existingValueobjectAny value already present. Unused.
serializerJsonSerializerThe serializer in use.
Returns
- object
The decoded bytes, or null for a JSON null.
Exceptions
- JsonSerializationException
The value is neither a string nor an object with "$value".
WriteJson(JsonWriter, object?, JsonSerializer)
Write a byte array as a base64 string.
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
Parameters
writerJsonWriterThe writer to write to.
valueobjectThe byte array. Json.NET handles nulls itself and never passes one here.
serializerJsonSerializerThe serializer in use.