有许多“标准”为“标准”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"在春季MVC中,你可以这样做:

@RequestMapping(value="location", method = RequestMethod.POST, headers = "Accept=application/json")

回复中的添加页眉 :

HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");

其他回答

正确的答案是:

Content-Type: application/json

IANA 亚非那JSON 正式注册的 MIME 类型为 JSONapplication/json.

当被问及为何不问时text/jsonCrockford似乎已经说Jsonon其实不是 JavaScript 或文本,application/*大于text/*.

更多资源:

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

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

“Cententent-Type: application/json”指定了您请求的内容格式,但有时您指定了两种格式application/jsonapplication/xml,但是这些功能的质量可能不同。哪个服务器会发送不同的响应格式,请参见以下示例:

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

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

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

你的问题的一部分 跟我有关 当我刚刚看到它。

第三方供应商正在提供一种供多个客户使用的REST服务。 它是一个直向前方的REST, 配有查询参数, 返回一个完善的JSON。 我用 PHP 和 Java 测试了它的工作原理。

我的客户用甲骨服务公交车作为他的应用程序服务器和互联网之间的通道。Invalid message format错误。结果发现content-type返回时text/htmlOSB 将回复按此信头处理; 在文本、 XML 和 JSON 之间转换。 在此情况下, 回复是 JSON , 但信头没有这么说 。 联系提供者后, 我得到回复 : “ 我们不会改变它, 因为不会影响其他人 ” 。

缩略Content-Type标题标题指定内容应:# # # 而不是什么 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #实际。这就是说,在您的消费程序中,您可以检查或忽略它,并以任何方式处理内容。另一个例子是,您可以返回 GIF 数据,但指定内容类型为 JSON,然后去忽略信头,读取图像数据。这不会伤害您的程序,但可能会伤害其他人。

故事的道德感:好好表现。