using Newtonsoft.Json.Linq;
public static void Main()
'UpdatedDateTime': '2023-01-17T20:45:51.959+08:00'
JsonSerializerSettings settings = new JsonSerializerSettings
FloatParseHandling = FloatParseHandling.Decimal,
FloatFormatHandling = FloatFormatHandling.DefaultValue,
DateParseHandling = DateParseHandling.DateTimeOffset,
DateTimeZoneHandling = DateTimeZoneHandling.Unspecified
JObject obj = JsonConvert.DeserializeObject<JObject>(json, settings);
var decimalValues = obj.Descendants().OfType<JValue>().Where(v => v.Value is decimal).ToList();
foreach (var value in decimalValues)
value.Replace(new JRaw(((decimal)value.Value).ToString("0.00000E0" )));
Console.WriteLine(obj.ToString());