有许多“标准”为“标准”Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json内容类型 :

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

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

相关:如果JSON被AST API送回来 是什么MIME类型?


当前回答

如果从JSON的REST API获得数据,必须使用内容类型:

  • 关于JSON数据:内容-类型:申请/json
  • HTML 数据 :内容-类型:text/html,
  • 对于 XHTML 数据:内容-类型:应用/xhtml+xml,
  • XML 数据 :内容-类型:文本/xml, 应用程序/xml

其他回答

JSON 文本:

application/json

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

用于贾索普(可调回 JavaScript) 调回 :

application/javascript

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

当然,对JSON来说正确的MIME媒体类型是application/json,但有必要了解在您的应用程序中预期会收到何种类型的数据。

例如,我使用Ext GWT 离 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");
    }
});

使用申请/日文响应类型,浏览器建议我保存文件。

服务器侧端源代码片断使用春春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);
    }
};

缩略IANA 登记注册application/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 。也没有列出其他媒体类型,事实上,甚至application/javascript现在已经过时。application/json是唯一唯一可能的正确回答。

浏览器支持是另一回事。

得到最广泛支持的非标准媒体类型是:text/jsontext/javascript但有些大名甚至使用text/plain.

更奇怪的是Flickr发来的内容-类头头,text/xml谷歌的使用text/javascript对于其中的一些 它的ajax apis。

实例:

curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"

产出:Content-Type: text/javascript

curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"

产出:Content-Type: text/xml

Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json(JavaScript 对象注释)和贾索普格式似乎非常相似,因此可能非常混淆它们应该使用哪种MIME类型。尽管格式相似,但两者之间有一些微妙的差别。

因此,每当有任何疑问时,我有一个非常简单的方法(在多数情况下完全正常),即去检查相应的RFC文件。

Json Json (Json Json) (Json Json Json) (Json Json) Json Json (Json Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json (Json) Json(Json) Json (Json) Json (Json) Json(Json) Json (Json) Json RFC 4627(JavaScript 对象标记(JSON)的应用/json媒体类型)是JSON格式的规格。

application/json.

贾索普JSONP (“有垫板的JSson”) 在一个浏览器中处理的方式不同于 JSson 。 JSONP 被当作普通 JavaScript 脚本处理, 因此它应该使用application/javascript,JavaScript 的当前正式 MIME 类型。 但是,在许多情况下,text/javascriptMIME型也不错

请注意text/javascript被标记为过时的RFC 4329(媒体类型)文档,建议使用application/javascript类型。然而,由于遗留原因,text/javascript它仍然被广泛广泛使用,并有交叉浏览器支持(这并不总是在application/javascriptMIME类型,特别是使用较老的浏览器)。

这取决于观点。

如果您是寄件请求的客户端,application/json是正确的选择。

但如果您是收到请求的服务器, 您必须做好准备, 客户端也可以发送编码 。 因此, 请准备 。application/jsonapplication/json; charset=utf-8有效。

两种情况下媒体类型相同。 但内容类型不同 。