有许多“标准”为“标准”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类型?


当前回答

贾森:

根据在 URL 中传递的查询参数, 回复是动态生成的数据 。

示例:

{ "Name": "Foo", "Id": 1234, "Rank": 7 }

内容类型 : application/json


JSON -P: 贾森 -P:

JSON用垫子。回应是 JSON数据, 并有一个功能电话围绕它。

示例:

functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});

内容类型 : 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);
    }
};

目前的适当标准是application/json。默认编码是 UTF-8,但值得一提的是,它也可以是 UTF-16 或 UTF-32. 当 JSON 以 UTF-16 或 UTF-32 书写时,必须使用二进制内容转移编码。

有关JSON在RFC 4627: JavaScript 对象标记(JSON)的应用/json媒体类型

有关二进制传输编码的更多信息正在打开5. 内容转让-编码信头字段(RRC 1341)。

毫无疑问,application/json是最好的米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米JSON 响应类型。

但我有一些经验 在那里我不得不使用application/x-javascript由于某些压缩问题,我的托管环境与戈地( GoDadd)。他们不允许我更改服务器配置。web.config压缩回复文件 。

<httpCompression>
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <dynamicTypes>
        <add mimeType="text/*" enabled="true"/>
        <add mimeType="message/*" enabled="true"/>
        <add mimeType="application/javascript" enabled="true"/>
        <add mimeType="*/*" enabled="false"/>
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true"/>
        <add mimeType="message/*" enabled="true"/>
        <add mimeType="application/javascript" enabled="true"/>
        <add mimeType="*/*" enabled="false"/>
    </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true"/>

通过使用这个, . aspx 页面被压缩为 g- zip, 但 JSON 没有回应 。 我添加了 。

<add mimeType="application/json" enabled="true"/>

在静态和动态类型区域中。但这并不压缩JSON的反应。

在那之后,我删除了这个新添加的类型,并添加了

<add mimeType="application/x-javascript" enabled="true"/>

在静态和动态两种类型的章节中都采用静态和动态两种类型,并更改了

.ashx (非同步处理器) to

application/x-javascript

现在我发现我的JSON反应 压缩了G-zip。所以我个人建议使用

application/x-javascript

只有在您想要压缩 JSON 回应 a共享托管环境。因为在共享主机中,它们不允许您更改IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS IIS配置。

春春您有一个定义型号 :MediaType.APPLICATION_JSON_VALUE等于申请/日文.

扩大被接受的答复, 当你使用JSON 在REST背景下...

有一个强力论据关于使用application/x-resource+jsonapplication/x-collection+json当时,你们是代表最高科技委员会的资源和收藏的。

如果你决定遵循jsonapi 计数器具体说明,您应该使用技术的application/vnd.api+json正如文件所记载的那样。

虽然不存在普遍标准,但显然,在所转让资源中增加的语义显然证明有必要更明确地说明内容类型不只是application/json.

根据这一推理,其他情况可以证明有理由更具体地说明内容类型.