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类型?
当前回答
内容- 类型页眉在张贴时应该设置为“ 应用程序/ 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 文本:
application/json
JSON 文本的 MIME 媒体类型是应用程序/ json。 默认编码是 UTF-8 。 (资料来源: RFC 4627)
JSONP (可运行的 JavaScript) 使用回调 :
application/javascript
以下是相关评论中提到的一些博客文章:
JSON Internet Explorer 为何不使用文本/ html 用于 JSON 的 JSON Internet Explorer 有时与应用程序/ json 有问题,
并非所有内容类型应用程序/json都有效。
如果您正在使用 Ext JS 表格提交到上传文件, 请注意, 服务器响应由浏览器解析, 以创建 < iframe > 的文档 。
如果服务器正在使用 JSON 发送返回对象, 则内容- 类型页眉必须设置为文本/ html , 以便告诉浏览器将文本插入文档正文, 未改变 。
见Ext JS 3.4.0 API文件。
PHP 中的应用程序/json 工作非常出色,可以存储数组或对象数据。
我用这个代码在谷歌云存(GCS)上将数据输入JSON,
$context = stream_context_create([
'gs' => [
'acl'=>'public-read',
'Content-Type' => 'application/json',
]
]);
file_put_contents(
"gs://BUCKETNAME/FILENAME.json",
json_encode((object) $array),
false,
$context
);
要返回数据是直线前进的:
$data = json_decode(file_get_contents("gs://BUCKETNAME/FILENAME.json"));
最常见的 MIME 类型是 应用程序/ json 。 以下是 JSON 全部内容类型列表 :
内容-类型:申请/json-Json-Json-内容-类型:在申请/json正式登记之前文本/x-json-Json-正式登记。内容-类型:申请/javascript-Json-P 内容-类型:申请/x-javascript-JavaScript
过时类型 :
内容- 类型: 文本/ javascript - JavaScript 但已经过时。 用于 HTML 属性的旧的互联网探索器版本。 内容- Type: 文本/ x- javascript - JavaScript 媒体类型, 但已经过时
JSON是一种特定域名语言(DSL)和独立于 JavaScript 的数据格式, 并因此拥有自己的 MIME 类型、 应用程序/ json 。 当然, 尊重 MIME 类型是客户驱动的, 所以文本/ plain 也可以用于字节的传输, 但随后您会不必要地将解释推到供应商应用程序域 - 应用程序/ json 。 您会通过文本/ plain 传输 XML吗 ?
但坦率地说,你选择MIME类型是建议客户如何解释数据-文本/平方或文本/HTML(当它不是 HTML ) 。 它和用打印语言制作您类型对象一样,没有信息规范。
我知道没有浏览器运行时间会拿JSON文件, 并且自动在运行时作为 JavaScript 无障碍对象, 不受干扰地提供, 但如果你和一个残废的客户合作, 那是一个完全不同的问题。 但是,这不是整个故事- Restful JSON 服务通常没有 JSON 运行时间, 但是它不会阻止他们使用 JSON 作为可行的数据交换格式。 如果客户是残废的... 那么我会考虑也许通过 Ajax Tylating 服务输入 HTML 。
申请/JSON!