什么是正确的JSON内容类型?我一直在忙着JSON一段时间,只是把它作为文本推出它并没有伤害任何人(我知道),但我想开始正确地做事。我见过这样的JSON内容类型很多所谓的“标准”:application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json但哪一个是正确的,还是最好的?我认为它们之间存在安全性和浏览器支持问题。我知道有一个类似的问题,如果REST API返回JSON,那么MIME类型是什么?,但我想要一个稍微有针对性的答案。
4 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
对于JSON文本:
application/json
JSON文本的MIME媒体类型是
application/json
。默认编码为UTF-8。(来源:RFC 4627)。
对于带回调的JSONP(可运行的javascript):
application/javascript
以下是相关评论中提到的一些博客文章。
IANA的官方mime类型列表来自@ gnrfan的答案如下
绝地无双
TA贡献1946条经验 获得超4个赞
当然,JSON的正确MIME媒体类型是application/json
,但有必要实现应用程序中预期的数据类型。
例如,我使用Ext GWT,服务器响应必须为text / 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"); }});
如果使用application / 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); }};
- 4 回答
- 0 关注
- 1076 浏览
添加回答
举报
0/150
提交
取消