有许多“标准”为“标准”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类型?


当前回答

作为一些研究,

最常见的MIME类型是

申请/日文

让我们举个例子来区分杰森和爪哇史克里普特

  • 申请/日文

当不知道该数据将如何使用时,即使用该数据。当信息仅以 JSON 格式从服务器中提取时,它可以通过链接或任何文件(如果是的话)来使用。

比如说...

<?php

    header('Content-type:application/json');

    $directory = [
            ['Id' => 1, 'Name' => 'this'],
            ['Id' => 2, 'Name' => 'is'],
            ['Id' => 3, 'Name' => 'Stack Overflow'],
        ];

    // Showing the JSON data

    echo json_encode($directory);
?>

产出是,

[{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}]

  • 申请/标注

在预先定义数据使用时使用该数据,在客户端 Ajax 应用程序调用时使用该数据,在JSON-P型或JSON-P型数据时使用该数据。贾索普.

例如,例如

<?php

    header('Content-type:application/javascript');

    $dir = [
            ['Id' => 1, 'Name' => 'this' ],
            ['Id' => 2, 'Name' => 'is'],
            ['Id' => 3, 'Name' => 'Stack Overflow'],
    ];

    echo "Function_call(" . json_encode($dir) . ");";
?>

产出是,

Function_call([{"Id":1, "Name":"this"}, {"Id":2, "Name":"is"}, {"Id":3, "Name":"Stack Overflow"}])

关于其他MIME类型,请参看MIME类型(亚马尼亚州媒体类型).

其他回答

并非所有内容都适合内容类型application/json.

如果您正在使用Ext JS向上传文件提交窗窗窗后,请注意服务器响应由浏览器解析,以创建文档<iframe>.

如果服务器正在使用 JSson 发送返回对象, 那么Content-Type必须设置为text/html以便告诉浏览器将未改变的文字插入文档正文。

见见Ext JS 3.4.0 API文件.

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

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

更多资源:

正确的 MIME 类型是application/json

但是

我经历过许多浏览器类型或框架用户需要的场景:

text/html

application/javascript

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

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

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

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

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

JSON 的正确内容类型是application/json除非你们在使用贾索普,也称为 Json with Padding, 实际上是 JavaScript, 所以正确的内容类型将是application/javascript.