PHP5中新增加两个函数json_encode和json_decode以加强对JSON的支持~第一个函数将把任意类型的数据对象转换为一组序列化数据,以供 JavaScript 处理。第二个函数将把序列化数据解码,并将其转换为基本 PHP 对象或联合数组。
json_encode主要用于将数组转换成JSON格式返回给客户端的JavaScript,转换时我们需注意以下几点:
- PHP自动分配的数字索引的数组转换后依然返回的是原数组,无法转换成JSON格式的数据,自定义的数字索引数组array(1=>”omiga”,2=>”http://omiga.org”)则可正常转换;
- 转换后的JSON数据的name与数组的索引对应。数组array(”name”=>”omiga”,”homepage”=>”http://omiga.org”)转换后的JSON数据是:{”name”:”omiga”,”homepage”:”http://omiga.org”};
- 非UTF-8编码下的中文无法正常转换,必须先将数组转换成UTF-8再用json_encode进行转换(很麻烦~等会还得转回去)。
json_decode默认返回的是stdClass 的对象,可以使用json_decode(jsonData,true)创建数组。
相关阅读
- http://www.openphp.cn/blog.php?blog_id=12
- http://www.ibm.com/developerworks/cn/opensource/os-php-v523
- http://hi.baidu.com/yeakyang/blog/item/604357078f835ec87b89478c.html

Leave a Reply