Asp.NET core/net 5接口返回实体含有long/int64的属性序列后最后几位变为0的解决

Asp.NET core /net 5接口返回实体含有long/int64的属性时,序列后最后几位变为0的。

不得不吐槽一下MS,这种事还有问题,NND。

解决方案在startup.cs中添加:options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString;

 

完整如下:

public void ConfigureServices(IServiceCollection services)
{
services.AddJsonOptions(options =>

{
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
options.JsonSerializerOptions.PropertyNamingPolicy = null;//忽略大小写,匹配model字段大小写
options.JsonSerializerOptions.IgnoreNullValues = false;//空数据也反回
options.JsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString;
});

posted @ 2021-11-18 14:00  sun51586  阅读(276)  评论(0编辑  收藏  举报