首页 新闻 会员 周边 捐助

ASP.NET Core Web API:又遇 json 序列化时中文被编码的问题

0
悬赏园豆:30 [已解决问题] 解决于 2025-10-07 17:18

之前遇到过,通过下面的代码解决了,详见博问 https://q.cnblogs.com/q/115234

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

但这次用的是 minimal API,上面的方法不管用了,请问如何解决?

Screenshot 2025-10-07 at 13.16.40

问题补充:

参考 Minimal APIs 的帮助文档 Configure JSON serialization options globally 通过 ConfigureHttpJsonOptions 进行配置,问题依旧

services.ConfigureHttpJsonOptions(o => o.SerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All));

另外,新建一个全新的 Minimal API 项目进行测试,中文并没有被编码

dudu的主页 dudu | 高人七级 | 园豆:24751
提问于:2025-10-07 13:15
< >
分享
最佳答案
0

Minimal API 默认就不会在 json result 中对中文进行编码,是项目中用到的 Cnblogs.Architecture 的问题,已提交 PR https://github.com/cnblogs/Architecture/pull/334

dudu | 高人七级 |园豆:24751 | 2025-10-07 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册