.NetCore3.1 API 返回Json中文乱码设置

16 篇文章 0 订阅
6 篇文章 0 订阅

今天用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();
        }

这样就不会有乱码了,全局配置也方便,不用每个地方都要

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
.NET Core 3.1是微软开发的一种跨平台的开发框架,可以用于构建各种应用程序,包括Web应用、移动应用、桌面应用等。它具有高性能、可扩展、易于维护等特点,被广泛应用于各个领域。 API(Application Programming Interface)是一种软件架构,用于不同系统之间的互操作和通信。通过使用API,我们可以将不同的应用程序和服务连接起来,实现数据交互和功能共享。 MySQL是一种常用的开源关系型数据库管理系统。它具有高性能、稳定性和安全性,并支持多平台。在.NET Core 3.1中,我们可以通过使用MySQL数据库提供程序来操作MySQL数据库。 在.NET Core 3.1 API中使用MySQL数据库,我们可以按照以下步骤进行: 1. 首先,我们需要安装MySQL数据库,并创建一个数据库,用于存储数据。 2. 接着,我们需要在.NET Core 3.1项目中安装MySQL数据库提供程序。可以使用NuGet包管理器或在项目文件中添加对MySQL提供程序的引用。 3. 在项目中添加对MySQL数据库的连接字符串的配置,包括服务器地址、用户名、密码和数据库名称等。 4. 创建一个数据模型,用于定义数据库中的表和字段。 5. 使用Entity Framework Core来执行数据库操作,包括查询、插入、更新和删除等。 6. 在API的控制器中编写相应的接口,用于处理客户端的请求并与数据库进行交互。 7. 在启动文件中配置Web API的路由和Authentication。 通过以上步骤,我们就可以在.NET Core 3.1的API中使用MySQL数据库。使用MySQL数据库可以提供数据存储和检索的功能,使我们的API可以处理和管理数据。同时,由于.NET Core 3.1的跨平台特性,我们可以在不同的操作系统上部署和运行我们的API,实现应用程序的跨平台和多设备支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值