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