JSON 内容类型有许多“标准 ” :

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

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

相关:如果JSON被REST API送回,什么MIME类型?


当前回答

在 JSP 中,您可以在页面指令中使用此指令 :

<%@ page language="java" contentType="application/json; charset=UTF-8"
    pageEncoding="UTF-8"%>

JSON的正确MIME媒体类型是申请/json, JSP将用来向客户发送回复。

其他回答

PHP 开发商使用此功能 :

<?php
    header("Content-type: application/json");

    // Do something here...
?>

为具体说明有趣的JSON结果,请在请求页眉中加入“申请/json”,如下文所示:

“接受:申请/json”是一种理想的反应格式。

“ Content-Type: application/json” 指定了您请求的内容格式, 但有时您同时指定了应用程序/ json 和 application/ xml , 但这些格式的质量可能不同 。 哪个服务器会发送不同的响应格式, 请看下面的例子 :

Accept:application/json;q=0.4,application/xml;q=8

这将返回 XML, 因为 XML 质量更高 。

如果您在客户端拨打 ASP. NET 网络服务, 您必须使用应用程序/ json 才能工作 。 我相信这对 jQuery 和 Ext 框架是一样的 。

当然,对 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);
    }
};

内容-类型:应用/json - JSON 内容-类型:应用/javascript-内容-类型:应用/x-javascript 内容-类型:应用/x-javascript - 内容-类型: JavaScript 内容-类型:文本/jawaScript :文本/javascript 但应用/json 正式注册前 JSON - JSON