JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
当前回答
作为一些研究,
最常见的MIME类型是
申请/日文
让我们举个例子来区分杰森和爪哇史克里普特
申请/日文
当不知道该数据将如何使用时,即使用该数据。当信息仅以 JSON 格式从服务器中提取时,它可以通过链接或任何文件(如果是的话)来使用。
比如说...
<?php
header('Content-type:application/json');
$directory = [
['Id' => 1, 'Name' => 'this'],
['Id' => 2, 'Name' => 'is'],
['Id' => 3, 'Name' => 'Stack Overflow'],
];
// Showing the JSON data
echo json_encode($directory);
?>
产出是,
[{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}]
申请/标注
在预先界定数据使用时使用,在客户端 Ajax 应用程序调用时使用,在JSON-P型或JSONP型数据时使用。
例如,例如
<?php
header('Content-type:application/javascript');
$dir = [
['Id' => 1, 'Name' => 'this' ],
['Id' => 2, 'Name' => 'is'],
['Id' => 3, 'Name' => 'Stack Overflow'],
];
echo "Function_call(" . json_encode($dir) . ");";
?>
产出是,
Function_call([{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}])
对于其他MIME类型,请参看MIME类型的完整细节(IANA媒体类型)。
其他回答
JSON 文本:
application/json
JSON 文本的 MIME 媒体类型是应用程序/ json。 默认编码是 UTF-8 。 (资料来源: RFC 4627)
JSONP (可运行的 JavaScript) 使用回调 :
application/javascript
以下是相关评论中提到的一些博客文章:
JSON Internet Explorer 为何不使用文本/ html 用于 JSON 的 JSON Internet Explorer 有时与应用程序/ json 有问题,
当前的适当标准是应用程序/json。 虽然默认编码是 UTF-8, 值得一提的是, 它也可能是 UTF-16 或 UTF-32. 当 JSON 写入 UTF-16 或 UTF-32 时, 必须使用二进制内容传输编码 。
RFC 4627: JavaScript 对象标记的应用/json 介质类型(JSON)
5. 内容-传输-编码页眉字段(RRC 1341)是二进制传输编码的更多资料。
JSON的正确内容类型是应用程序/json UnLESS, 您正在使用JSONP, 也称为JSON with Padding, 实际上是 JavaScript, 所以正确的内容类型将是应用程序/javascript。
如果您从 JSON 的 REST API 获得数据, 您必须使用内容类型 :
JSON 数据的 JSON 数据: 内容-类型: HTML 数据的应用/json: 内容-类型: Text/html, XHTML 数据: 内容- Type: 应用程序/xhtml+xml, XML 数据: 内容- Type: Text/xml, 应用程序/xml
对于JSON,我使用:
Content-Type: application/json
工作队JSON数据交换格式7158提案第1.2节:JSON的规格对此作了说明。