PHP 5.2.0 的新功能 JSON decoder & encoder

Livid's Paranoid - Blog 2006年11月10日 02:23 查看6881次 作者: Livid  【
文章分类:PHP5研究[新]
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 的详细指南和例子。
责任编辑:easy

给文章打分...

平均分:0.2(36 次)

-5 -4 -3 -2 -1 0 1 2 3 4 5
4

顶一下

发表我的见解...

  • 您的大名: 留空为匿名
  • 您的主页:
  • 您的邮箱: