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


当前回答

缩略IANA 登记注册application/json说:

使用这种媒体类型的应用:JSON一直被用来在以所有这些编程语言书写的申请之间交换数据:ActionScript、C、C#、Clojure、ColdFusion、Common Lisp、E、E、Eerlan、Go、Java、JavaScript、Lua、CAML目标、Perl、PHP、Python、Rebol、Ruby、Scala和Schep。

您会注意到 IANA. org 。也没有列出其他媒体类型,事实上,甚至application/javascript现在已经过时。application/json是唯一唯一可能的正确回答。

浏览器支持是另一回事。

得到最广泛支持的非标准媒体类型是:text/jsontext/javascript但有些大名甚至使用text/plain.

更奇怪的是Flickr发来的内容-类头头,text/xml谷歌的使用text/javascript对于其中的一些 它的ajax apis。

实例:

curl -I "https://ajax.googleapis.com/ajax/services/search/video?v=1.0&q=jsonexample"

产出:Content-Type: text/javascript

curl -I "https://www.flickr.com/services/rest/?method=flickr.test.echo&format=json&api_key=f82254c1491d894f1204d8408f645a93"

产出:Content-Type: text/xml

其他回答

贾森:

根据在 URL 中传递的查询参数, 回复是动态生成的数据 。

示例:

{ "Name": "Foo", "Id": 1234, "Rank": 7 }

内容类型 : application/json


JSON -P: 贾森 -P:

JSON用垫子。回应是 JSON数据, 并有一个功能电话围绕它。

示例:

functionCall({"Name": "Foo", "Id": 1234, "Rank": 7});

内容类型 : application/javascript

JSON是一个域内特定语言(DSL)和独立于 JavaScript 的数据格式,因此具有自己的米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米米类型,application/json尊重MIME类型当然是由客户驱动的,所以text/plain可能是为了传输字节, 但你会不必要地把解释 推到供应商申请域application/json。您是否会通过text/plain?

但说实话,你选择MIME类型 是建议客户 如何解读数据text/plaintext/HTML(当它不是 HTML ) 就像类型擦除—— 它和用打印语言制作所有类型对象一样没有信息规范。

我知道没有浏览器运行时间会使用 JSON 文档, 并自动在运行时作为 JavaScript 无障碍对象自动提供, 无需干预, 但如果你和一个残废的客户合作, 那完全是另一回事。 但这不是整个故事-休息时间JSON服务通常没有 JavaScript 运行时, 但是它并不阻止他们使用JSON作为可行的数据交换格式。 如果客户是那么残废的话... 那么我想也许通过 HTML 注射阿贾克斯代替为诱惑服务。

申请/JSON!

由于你可能必须更经常地使用这些内容,即使有,也总是尽量记住这三种内容类型。许多内容类型:

  • 内容类型:申请/json
  • 内容类型:应用程序/xml
  • 内容-类型:文本/ html
  • Content-Type: application/json-杰森
  • Content-Type: application/javascript - 杰森-普
  • Content-Type: application/x-javascript - JavaScript
  • Content-Type: text/javascript - JavaScript 但是,但用于 HTML 属性的旧的因特网探索者版本。
  • Content-Type: text/x-javascript- JavaScript媒体类型,但是,但过时
  • Content-Type: text/x-json- 曾经杰森申请/日文正式注册。

如果您使用 Ubuntu 或 Debian 或 Debian , 通过 Apache 服务于 .json 文件, 您可能需要以正确内容类型服务文件。 我这样做主要是因为我想使用 Firefox 扩展名Json View 吉森(Jsson View )

Apache 模块调制(_mime)将会帮助您轻松完成此操作 。 但是, 您需要用 Ubuntu 来编辑文件/eec/mime.类型添加一行

application/json json

然后重新启动 Apache :

sudo service apache2 restart