天天看點

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;

});

繼續閱讀