叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP 5.2.0 的新功能 JSON decoder # encoder

  December 21st,2008 21:21:49   Category : PHP+Mysql
 Click (1058)

作者:Livid 

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 的详细指南和例子。

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]