asp.net core web api 輸出的 json 中文被編碼(亂碼)的問題


可能因為在 .net core 3.1 后,序列化組件已經是:System.Text.Json,序列化的默認行為有改變。

 

解決方案1:更換 JSON 組件(https://q.cnblogs.com/q/114831/

添加 Microsoft.AspNetCore.Mvc.NewtonsoftJson 包引用,並且在 ConfigureServices 中添加 AddNewtonsoftJson()

 

解決方案2:配置 JSON 選項(https://q.cnblogs.com/q/115234/

在 Startup 中配置:

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers().AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
    });
}

即可,如果需要更寬泛的轉換,可將 Encoder 更換為:JavaScriptEncoder.UnsafeRelaxedJsonEscaping


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM