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类型?
当前回答
IANA 申请登记/json说
使用这种媒体类型的应用:JSON一直被用来在以所有这些编程语言书写的申请之间交换数据:ActionScript、C、C#、Clojure、ColdFusion、Common Lisp、E、E、Eerlan、Go、Java、JavaScript、Lua、CAML目标、Perl、PHP、Python、Rebol、Ruby、Scala和Schep。
您会注意到 IANA. org 没有列出任何其他类型的媒体, 事实上, 应用程序/ javascript 现在已经过时了 。 因此应用程序/ json 是唯一可能的正确答案 。
浏览器支持是另一回事。
最得到广泛支持的非标准媒体类型是文本/json或文本/javascript。 但有些大名甚至使用文本/平方。
更奇怪的是Flickr发来的“内容-类”头条, 他将JSON回回为文本/xml。 Google使用文本/插件来描述其中的ajax apis。
实例:
curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"
产出:内容-类型:文本/插图
curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"
产出:内容类型:文本/xml
其他回答
JSON 文本:
application/json
JSON 文本的 MIME 媒体类型是应用程序/ json。 默认编码是 UTF-8 。 (资料来源: RFC 4627)
JSONP (可运行的 JavaScript) 使用回调 :
application/javascript
以下是相关评论中提到的一些博客文章:
JSON Internet Explorer 为何不使用文本/ html 用于 JSON 的 JSON Internet Explorer 有时与应用程序/ json 有问题,
当然,对 JSON 来说正确的 MIME 媒体类型是应用程序/json, 但有必要了解在您的应用程序中需要什么样的数据。
例如,我使用Ext GWT, 服务器响应必须作为文本/ html, 但包含 JSON 数据 。
客户端, Ext GWT 窗体收听器
uploadForm.getForm().addListener(new FormListenerAdapter()
{
@Override
public void onActionFailed(Form form, int httpStatus, String responseText)
{
MessageBox.alert("Error");
}
@Override
public void onActionComplete(Form form, int httpStatus, String responseText)
{
MessageBox.alert("Success");
}
});
如果使用应用程序/json回应类型,浏览器建议我保存文件。
使用 Spring MVC 的服务器侧端源代码代码片断
return new AbstractUrlBasedView()
{
@SuppressWarnings("unchecked")
@Override
protected void renderMergedOutputModel(Map model, HttpServletRequest request,
HttpServletResponse response) throws Exception
{
response.setContentType("text/html");
response.getWriter().write(json);
}
};
正确的答案是:
Content-Type: application/json
贾森:
根据在 URL 中传递的查询参数, 回复是动态生成的数据 。
示例:
{ "Name": "Foo", "Id": 1234, "Rank": 7 }
内容类型:申请/json
JSON -P: 贾森 -P:
JSON用垫子。回应是 JSON数据, 并有一个功能电话围绕它。
示例:
functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});
内容-类型:申请/标注
对于JSON,我使用:
Content-Type: application/json
工作队JSON数据交换格式7158提案第1.2节:JSON的规格对此作了说明。