踩雷

[Blazor]在Program.cs設定JSON選項無作用

作者:

分類:

又踩雷了~~~(╥﹏╥)

在Blazor專案遇到了JSON序列化後中文字變成UTF編碼的字元,雖然不影響實際使用,但DEBUG時仍是不方便。參考大神分享的「ASP.NET Core JSON 中文編碼問題與序列化參數設定」,但是卻無任何作用。

想說是個BUG準備去.net的Github儲存庫發Issue,結果找到貢獻者之一回覆「不會替Blazor加入JSON全域設定」,原因是考慮效能甚至是安全性的影響。好吧!既然官方都這麼說了,只好依官方文件在各個需要用到的地方單獨設定。

C#
var options = new JsonSerializerOptions
{
    Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.CjkUnifiedIdeographs)
};
jsonString = JsonSerializer.Serialize(weatherForecast, options);

唉唉~雖然寫Blazor體感真的舒適,但是雷也是真地多。

最後更新日期:2025-02-09

Views: 6

Views: 7


留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *