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;
});