JSON 内容类型有许多“标准 ” :

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。

相关:如果JSON被REST API送回,什么MIME类型?


当前回答

正如其他许多人提到的那样,申请/json是正确答案。

但还没有被解释的是你提出的其他选择 意指什么

申请/申请前的实验 MIME 类型 : 申请/申请前的实验 MIME 类型 : 文本/ 标本 : 现在过时 。 您在使用 javascript 时应该使用 应用程序/ 标本 : 上述情况下的实验 MIME 类型 。 文本/ x- json : 申请/ json 正式注册前 JSON 的实验 MIME 类型 。

总的来说,只要您对内容类型有任何疑问,您就应该检查此链接

其他回答

内容- 类型页眉在张贴时应该设置为“ 应用程序/ json ” 。 监听请求的服务器应该包括“ 接受= 应用程序/ json ” 。 在 Spring MVC 中, 您可以这样做 :

@RequestMapping(value="location", method = RequestMethod.POST, headers = "Accept=application/json")

回复中的添加页眉 :

HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");

扩大被接受的答复, 当你使用JSON 在REST背景下...

当您代表REST的资源和收藏时,使用应用程序/x资源+json和应用程序/x收集+json是有充分论据的。

如果您决定遵循jsonapi 规范, 您应该使用已记录在案的应用程序/ vnd. api+json 。

虽然不存在普遍标准,但显然,所转让资源中增加的语义显然证明,比仅仅应用/json更明确的内容类型是合理的。

根据这一推理,其他情况可以证明更具体的内容类型是合理的。

如果JSON用垫子,那将是申请/jsonp。如果JSON没有划线,那将是申请/json。

要同时处理这两种问题,使用“应用/刺杀”是一种良好做法,无需担心是用垫子还是不用垫子。

JSON的正确内容类型是应用程序/json UnLESS, 您正在使用JSONP, 也称为JSON with Padding, 实际上是 JavaScript, 所以正确的内容类型将是应用程序/javascript。

JSON 文本:

application/json

JSON 文本的 MIME 媒体类型是应用程序/ json。 默认编码是 UTF-8 。 (资料来源: RFC 4627)

JSONP (可运行的 JavaScript) 使用回调 :

application/javascript

以下是相关评论中提到的一些博客文章:

JSON Internet Explorer 为何不使用文本/ html 用于 JSON 的 JSON Internet Explorer 有时与应用程序/ json 有问题,