using System.Text.Json.Serialization;
public static void Main()
""number2"": 749294.8482800084720000000
var options = new JsonSerializerOptions(){ Converters = { new DecimalJsonConverter() }};
var model = JsonSerializer.Deserialize<Model>(json, options);
var model2 = new Model { Number1 = 0.000000m, Number2 = 123.456000000m };
var serialized = JsonSerializer.Serialize(model2, options);
public class DecimalJsonConverter : JsonConverter<decimal>
public override decimal Read(
ref Utf8JsonReader reader,
JsonSerializerOptions options) =>
reader.GetDecimal().Normalize();
public override void Write(
JsonSerializerOptions options) =>
writer.WriteNumberValue(value.Normalize());
public static class ExtensionMethods
public static decimal Normalize(this decimal value) =>
value / 1.000000000000000000000000000000000m;
[JsonPropertyName("number1")]
public decimal Number1 { get; set; }
[JsonPropertyName("number2")]
public decimal Number2 { get; set; }