代码如下:
[HttpGet, HttpPost]
public IActionResult ApiTest()
{
return Json("OK-你是对的");
}
接口返回出现
"OK-\u4F60\u662F\u5BF9\u7684"
这个原因是Json序列化的时候没有对中文进行处理,我们可以通过设置JsonSerializerOptions设置,这里有两种方式一种直接传递设置
第一种代码如下:
[HttpGet, HttpPost]
public IActionResult ApiTest()
{
//第一种方式
var options = new JsonSerializerOptions
{
Encoder = JavaScriptEncoder.Create(UnicodeRanges.All)
};
return Json("OK-你是对的", options);
}
第二种 在 Startup.cs 里面全局设置,代码如下 (推荐第二种)
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers().AddJsonOptions(cfg =>
{
cfg.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
});
}
修改后接口返回:
"name为空"