.NetCore3.1 API 返回Json中文乱码设置
程序员文章站
2023-12-30 15:16:16
...
今天用3.1尝试了一下API返回,代码如下
[Route("get")]
public IActionResult Get(long id) {
return new JsonResult(new User {
Id=1,
Name="张三",
Age=20
});
}
运行返回结果中文名称乱码如下图
这个原因是Json序列化的时候没有对中文进行处理,我们可以通过设置JsonSerializerOptions设置,这里有两种方式一种直接传递设置,代码如下
[Route("get")]
public IActionResult Get(long id) {
var options = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.Create(UnicodeRanges.All)
};
return new JsonResult(new User
{
Id = 1,
Name = "张三",
Age = 20
}, options);
}
还有一种就是在startup里面全局设置,代码如下
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddJsonOptions(cfg =>
{
cfg.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
});
//services.AddControllers();
}
这样就不会有乱码了,全局配置也方便,不用每个地方都要
推荐阅读
-
.NetCore3.1 API 返回Json中文乱码设置
-
JQuery ajax 返回json时出现中文乱码该如何解决
-
JQuery ajax 返回json时出现中文乱码该如何解决
-
C# web api返回类型设置为json的两种方法
-
jquery+ajax返回json中文乱码现象怎样处理
-
C# web api返回类型设置为json的两种方法
-
C# web api返回类型设置为json的两种方法
-
C# web api返回类型设置为json的两种方法
-
SSM 后台返回数据到前端,JSON中文乱码解决办法
-
spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500