using System.Text.Json.Serialization;
namespace StackOverflowExample;
var subclass = new Subclass
var serializeOptions = new JsonSerializerOptions
NumberHandling = JsonNumberHandling.AllowNamedFloatingPointLiterals,
serializeOptions.Converters.Add(new SubConvertor());
var jsonString = JsonSerializer.Serialize(subclass, serializeOptions);
Console.WriteLine(jsonString);
var deserialized = JsonSerializer.Deserialize<Subclass>(jsonString, serializeOptions);
Console.WriteLine(deserialized.NaN);
public double NaN { get; set; } = double.NaN;
public class SubConvertor : JsonConverter<Subclass>
public override Subclass Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
public override void Write(Utf8JsonWriter writer, Subclass dateTimeValue, JsonSerializerOptions options)
writer.WriteStringValue("NaaaN");
writer.WriteNumberValue(dateTimeValue.NaN);