1 /// <summary> 2 /// 解决特别小的小数0.000000001 序列化成科学计数法。 这里把decimal类型转成string 3 /// </summary> 4 public class DecimalConvert : CustomCreationConverter<decimal> 5 { 6 public override decimal Create(Type objectType) 7 { 8 return 0; 9 } 10 public override bool CanWrite => true; 11 public override void WriteJson(JsonWriter writer,object value,JsonSerializer serializer) 12 { 13 if (value == null) 14 { 15 writer.WriteNull(); 16 return; 17 } 18 writer.WriteValue(value.ToString()); 19 } 20 }
1 public void ConfigureServices(IServiceCollection services) 2 { 3 services.AddMvc().AddJsonOptions(options => 4 { 5 options.SerializerSettings.Converters.Add(new DecimalConvert()); 6 }); 7 }
这样只能转成string类型返回,不知道还有什么其他办法,我希望返回值还是decimal。。。