.net core 3.1使用JsonResult返回时中文被编码

在使用.NET Core 3.1构建MVC项目时,遇到JSON返回结果中文被编码的问题。通过调整服务配置,使用JavaScriptEncoder创建包含所有Unicode范围的编码器,成功解决了API和MVC项目的中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用.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都可以;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值