如何从响应标头中的内容类型中删除 charset=utf-8
Posted
技术标签:
【中文标题】如何从响应标头中的内容类型中删除 charset=utf-8【英文标题】:How to remove charset=utf-8 from content type in response header 【发布时间】:2021-11-26 06:24:59 【问题描述】:这是我的代码:
[HttpPost]
public IActionResult Post([FromBody] JObject jobject)
JObject changedObject = new JObject();
if (jobject.ContainsKey("name"))
changedObject.Add("id", "1");
changedObject.Add("name", jobject.GetValue("name"));
changedObject.Add("employment", "private");
Response.ContentType= "application/json";
return Ok(changedObject);
这个结果返回Content-Type "application/json; charset=utf-8"
。
我怎样才能获得响应标头content-type = "application/json"
?
【问题讨论】:
但是为什么呢?System.Text.Json
序列化为 utf8。如果名称中包含 '﷽'
,您会发生什么?
这是 ASP.NET 吗? ASP.NET 核心?还有其他遵循类似模式的东西吗?
@Llama ,这是 ASP.NET 但具有 newtonsoft json 依赖项
【参考方案1】:
而不是返回
return Ok(changedObject);
返回:
return Json(changedObject).
它成功了。
【讨论】:
以上是关于如何从响应标头中的内容类型中删除 charset=utf-8的主要内容,如果未能解决你的问题,请参考以下文章
如何从 HttpClient.PostAsJsonAsync() 生成的 Content-Type 标头中删除 charset=utf8?
如何从 Azure Functions 的 HTTP 响应中删除标准标头?
应用程序/pdf 内容类型 http 响应标头的正确字符集是啥?