在使用.net core 3.1构建mvc项目练习时发现使用Json返回结果有中文,中文会被编码像这样**{“success”:false,“message”:"\u90AE\u7BB1\u683C\u5F0F\u4E0D\u6B63\u786E"}**,随即构建一个API项目发现也是一样,会被转码;尝试使用ContentResult返回字符串发现没有被转码,使用Newtonsoft.Json序列化对象后使用ContentResult也是正常的,不知道是不是因为.net core 3.1使用System.Text.Json进行序列化的原因;查找获取一个解决方案,记录一下:
services.AddControllersWithViews().AddJsonOptions(options =>
{
options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
});
经过测试可用,api和mvc都可以;
在使用.NET Core 3.1构建MVC项目时,遇到JSON返回结果中文被编码的问题。通过调整服务配置,使用JavaScriptEncoder创建包含所有Unicode范围的编码器,成功解决了API和MVC项目的中文乱码问题。
958

被折叠的 条评论
为什么被折叠?



