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

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

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

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


当前回答

内容- 类型页眉在张贴时应该设置为“ 应用程序/ json ” 。 监听请求的服务器应该包括“ 接受= 应用程序/ json ” 。 在 Spring MVC 中, 您可以这样做 :

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

回复中的添加页眉 :

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

其他回答

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

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

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

NANA将JSON的正式MIME类型登记为申请/json。

当被问及为什么不是文本/json时,Crockford似乎说JSON其实不是JSON的JavaScript,也不是文本,而且IANA比文本/*更可能发出申请/*。

更多资源:

媒体类型 要求征求第4627条评论:JSON有一个类型

我用下面的用法

contentType: 'application/json',
data: JSON.stringify(SendData),

JSON (JavaScript Objects Notation) 和 JSONP (“JSON with padding”) 格式似乎非常相似,因此,它们应该使用哪种MIME类型可能非常混乱。 尽管格式相似,但两者之间有一些微妙的差别。

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

JSON RFC 4627 (JSPAScript 支出用途说明(JSON)的应用/json媒体类型)是JSON格式的规格。

application/json.

JSONP JSONP JSONP (“JSON with padding” ) 在浏览器中处理的方式不同于JSON。 JSONP 被作为普通的 JavaScript 脚本处理, 因此它应该使用JSONP JSONP JSONP (“ JSON with padding ” ) 的当前正式的 MIME 类型, JSONP (“JSON with padding ” ) 。 但是, 在许多情况下, 文本/ javacript MIME 类型也会正常工作 。

请注意 RFC 4329 (Scripting Media Type) 文档将文本/javascript标为已过时,建议改用应用程序/javascript类型,但是,由于遗留原因,文本/javascript仍然被广泛使用,并有交叉浏览支持(这并不总是应用/javascript MIME类型的情况,特别是旧浏览器)。

如果JSON用垫子,那将是申请/jsonp。如果JSON没有划线,那将是申请/json。

要同时处理这两种问题,使用“应用/刺杀”是一种良好做法,无需担心是用垫子还是不用垫子。