JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
JSON 内容类型有许多“标准 ” :
application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json
我用哪一种,在哪里?我假设安全和浏览器支持问题是一个因素。
相关:如果JSON被REST API送回,什么MIME类型?
当前回答
如果JSON用垫子,那将是申请/jsonp。如果JSON没有划线,那将是申请/json。
要同时处理这两种问题,使用“应用/刺杀”是一种良好做法,无需担心是用垫子还是不用垫子。
其他回答
这取决于观点。
如果您是发送请求书的客户,那么申请/json就是正确的选择。
但如果您是收到请求的服务器, 您必须做好准备, 客户端也可以发送编码。 因此应用程序/ json 和 应用程序/ json; 字符set=utf-8 是有效的 。
两种情况下媒体类型相同。 但内容类型不同 。
当然,对 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
在 JSP 中,您可以在页面指令中使用此指令 :
<%@ page language="java" contentType="application/json; charset=UTF-8"
pageEncoding="UTF-8"%>
JSON的正确MIME媒体类型是申请/json, JSP将用来向客户发送回复。
你的问题的一部分 跟我有关 当我刚刚看到它。
第三方供应商正在提供一种供多个客户使用的REST服务。 它是一个直向前方的REST, 配有查询参数, 返回一个完善的JSON。 我用 PHP 和 Java 测试了它的工作原理。
我的客户端使用 Oracle Service Bus 作为他的应用程序服务器和 Internet 之间的网关。 当我使用 Oracle Service Bus 作为 OSB 服务时, 它被无效的信息格式错误崩溃。 结果发现, 返回的内容类型是文本/ html 。 OSB 将回复按此信头处理; 将文本、 XML 和 JSON 转换为文本、 XML 和 JSON 。 在此情况下, 回复是 JSonson , 但信头没有这么说 。 联系提供方时, 我收到回复 : “ 我们不会改变它, 因为不会影响其他人 ” 。
内容- 类型页眉指定内容应该是什么, 而不是实际内容。 也就是说, 在您的消费程序中, 您可以检查或忽略它, 并以任何方式处理内容 。 另一个示例是, 您可以返回 GIF 数据, 但指定内容类型为 JSON, 然后继续忽略页眉, 读取图像数据 。 这不会伤害您的程序, 但可能会伤害其他人 。
故事的道德感:好好表现。