好学IT学院:IT信息技术分享交流平台
标签:PHP  来源:Livid's Paranoid - Blog  作者:Livid  发布时间:2007-02-02  ★★★加入收藏〗〖手机版
摘要:JSON 全称 JavaScript Object NotationJSON 全称 JavaScript Object Notation,是一种非常轻量级别的数据串行化格式,属于 JavaScript 语言的一部分。比如下面这里是一个例子。……

JSON 全称 JavaScript Object Notation

JSON 全称 JavaScript Object Notation,是一种非常轻量级别的数据串行化格式,属于 JavaScript 语言的一部分。比如下面这里是一个例子。

var myJSONObject = {"bindings": [
      {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
      {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
      {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
  ]
};

这样的话,我们将获得一个叫做 myJSONObject 的对象,其中包含一个独立的成员 bindings,bindings 包含一个数组,这个数组有三个对象,这三个对象各自包含三个成员 ircEvent,method 和 regex。

你可以使用其他方式,比如 XMLHTTPRequest 方式获得一个字符串,然后通过下面的方式将其转换为一个 JavaScript 对象。

var myObject = eval('(' + myJSONtext + ')');

与 XML 相比,对 JSON 对象中的数据进行操纵时不需要使用到如 DOM 这样的复杂的 API,而是直接使用如 myJSONObject.bindings[0].ircEvent 这样的语法就可以获得数据,在某些时候显得更灵活一些。

PHP 5.2.0 新版本中默认支持一个新的 JSON extension,实现了两个函数 json_decode() 和 json_encode(),前者可以将 JSON 格式的字符串还原为 PHP native 的数组和常规对象,而后者则可以将 PHP native 的数组和常规对象编码为 JSON 格式的字符串。我觉得这是一个非常有用的功能。我之前已经在我开发的 m2099 应用中使用到了 JSON extension,而那个时候需要自己在服务器上去编译这个 extension,可以想见,在未来的 distribution 中,由于这个 extension 成为 built-in 方式,其使用会更加方便,就好像从 PHP 5.0.0 开始支持的 SimpleXML 对象一样,可以大大节约开发人员的时间,让编码更有乐趣。

JSON 有一个官方网站 http://www.json.org/ ,上面有更详细得多的信息。

O'Reilly 的《Head Rush Ajax》一书中也有关于 JSON 的详细指南和例子。

  • 好学考试H5触屏版开放内测
  • 好学触屏公众号虎力全开、杨帆起航!