我用这个return Ok(JsonConvert.SerializeObject(res));
在我的代码中返回 json 并且这个工作正常但是内容类型是 text/plain
当我使用 [Produces("application/json")]
在我的 api 响应中是这样的:
{\"Value\":\"value1\"}
我需要使用 json 序列化但还需要内容类型
application/json
.
请帮忙
请您参考如下方法:
如果您序列化一个字符串,最好使用(正如马库斯所指出的)
return Ok(model)
使用
Ok
时的返回类型方法虽然取决于您的 ASP.NET Core 应用程序的配置人员以及安装了哪些格式化程序(默认情况下只有 Json 格式化程序,但您也可以安装 Xml 格式化程序)以及浏览器喜欢哪种类型。如果浏览器请求 xml 并且您安装了 xml 格式化程序,它将返回 xml。如果浏览器请求 json 并且安装了 json 格式化程序,它将返回 json。否则回退到任何最适合的。
如果您的数据已经序列化为字符串(因为它来自数据库、文件系统等),请使用
return Content(jsonData, "application/json");
如果您的数据是文件,只需使用
return PhysicalFile("my.json", "application/json");
如果是流
return File(fileStream, "application/json");
等等