天天看点

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;

});

继续阅读