如何从响应标头中的内容类型中删除 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 响应中删除标准标头?

如何从放心的响应中删除xml标头

应用程序/pdf 内容类型 http 响应标头的正确字符集是啥?

预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段内容类型

如何从 EB 响应中删除标头