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

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

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

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


当前回答

为具体说明有趣的JSON结果,请在请求页眉中加入“申请/json”,如下文所示:

“接受:申请/json”是一种理想的反应格式。

“ Content-Type: application/json” 指定了您请求的内容格式, 但有时您同时指定了应用程序/ json 和 application/ xml , 但这些格式的质量可能不同 。 哪个服务器会发送不同的响应格式, 请看下面的例子 :

Accept:application/json;q=0.4,application/xml;q=8

这将返回 XML, 因为 XML 质量更高 。

其他回答

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

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

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

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

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

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

对于JSON,我使用:

Content-Type: application/json

工作队JSON数据交换格式7158提案第1.2节:JSON的规格对此作了说明。

并非所有内容类型应用程序/json都有效。

如果您正在使用 Ext JS 表格提交到上传文件, 请注意, 服务器响应由浏览器解析, 以创建 < iframe > 的文档 。

如果服务器正在使用 JSON 发送返回对象, 则内容- 类型页眉必须设置为文本/ html , 以便告诉浏览器将文本插入文档正文, 未改变 。

见Ext JS 3.4.0 API文件。

JSON是一种特定域名语言(DSL)和独立于 JavaScript 的数据格式, 并因此拥有自己的 MIME 类型、 应用程序/ json 。 当然, 尊重 MIME 类型是客户驱动的, 所以文本/ plain 也可以用于字节的传输, 但随后您会不必要地将解释推到供应商应用程序域 - 应用程序/ json 。 您会通过文本/ plain 传输 XML吗 ?

但坦率地说,你选择MIME类型是建议客户如何解释数据-文本/平方或文本/HTML(当它不是 HTML ) 。 它和用打印语言制作您类型对象一样,没有信息规范。

我知道没有浏览器运行时间会拿JSON文件, 并且自动在运行时作为 JavaScript 无障碍对象, 不受干扰地提供, 但如果你和一个残废的客户合作, 那是一个完全不同的问题。 但是,这不是整个故事- Restful JSON 服务通常没有 JSON 运行时间, 但是它不会阻止他们使用 JSON 作为可行的数据交换格式。 如果客户是残废的... 那么我会考虑也许通过 Ajax Tylating 服务输入 HTML 。

申请/JSON!