有许多“标准”为“标准”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来说正确的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);
    }
};

其他回答

缩略application/jsonPHP 中保存数组或对象数据的工作非常出色 。

我用这个代码把数据输入JSONGoogle Cloud 储存(GCS)设定了可公开观看:

$context = stream_context_create([
    'gs' => [
        'acl'=>'public-read', 
        'Content-Type' => 'application/json',
    ]
]);

file_put_contents(
    "gs://BUCKETNAME/FILENAME.json", 
    json_encode((object) $array), 
    false, 
    $context
);

要返回数据是直线前进的:

$data = json_decode(file_get_contents("gs://BUCKETNAME/FILENAME.json"));

这取决于观点。

如果您是寄件请求的客户端,application/json是正确的选择。

但如果您是收到请求的服务器, 您必须做好准备, 客户端也可以发送编码 。 因此, 请准备 。application/jsonapplication/json; charset=utf-8有效。

两种情况下媒体类型相同。 但内容类型不同 。

仅在使用时application/json作为米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米(截至2011年11月,有最新版本的Chrome、Firefox和火虫):

  • 当 JSON 从服务器上装入时, Chrome 不再发出警告 。
  • Firebug 会在回复中添加一个标签, 显示您格式化的 JSON 数据。 如果 MIME 类型不同, 它只会显示为“ 响应内容 ” 。

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

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

更多资源:

正如许多其他人已经提到的那样,application/json是正确答案。

但还没有被解释的是你提出的其他选择 意指什么

  • application/x-javascript: JavaScript 以前 JavaScript 的实验 MIME 类型application/javascript成为标准。

  • text/javascript:现在过时。你应该使用application/javascript当使用 Javaramps 时。

  • text/x-javascript:上述情况下的实验性MIME类型。

  • text/x-jsonJSON 之前的实验 MIME 类型application/json正式注册。

总的来说,当你对内容类型有任何疑问时,你应该检查此链接