在Blazor專案遇到了JSON序列化後中文字變成UTF編碼的字元,雖然不影響實際使用,但DEBUG時仍是不方便。
參考大神分享的「ASP.NET Core JSON 中文編碼問題與序列化參數設定」,
但是卻無任何作用。
想說是個BUG準備去.net的Github儲存庫發Issue,結果找到貢獻者之一回覆「不會替Blazor加入JSON全域設定」,原因是考慮效能甚至是安全性的影響。
好吧!既然官方都這麼說了,只好依官方文件在各個需要用到的地方單獨設定。
var options = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.Create(UnicodeRanges.BasicLatin, UnicodeRanges.CjkUnifiedIdeographs),
WriteIndented = true
};
jsonString = JsonSerializer.Serialize(weatherForecast, options);
本文同步發表至我的Blog