我用这个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"); 

等等


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!