PHP and JSON

2008-06-24 17:02:32

PHP5中新增加两个函数json_encode和json_decode以加强对JSON的支持~第一个函数将把任意类型的数据对象转换为一组序列化数据,以供 JavaScript 处理。第二个函数将把序列化数据解码,并将其转换为基本 PHP 对象或联合数组。

json_encode主要用于将数组转换成JSON格式返回给客户端的JavaScript,转换时我们需注意以下几点:

  1. PHP自动分配的数字索引的数组转换后依然返回的是原数组,无法转换成JSON格式的数据,自定义的数字索引数组array(1=>”omiga”,2=>”http://omiga.org”)则可正常转换;
  2. 转换后的JSON数据的name与数组的索引对应。数组array(“name”=>”omiga”,”homepage”=>”http://omiga.org”)转换后的JSON数据是:{“name”:”omiga”,”homepage”:”http://omiga.org”};
  3. 非UTF-8编码下的中文无法正常转换,必须先将数组转换成UTF-8再用json_encode进行转换(很麻烦~等会还得转回去)。

json_decode默认返回的是stdClass 的对象,可以使用json_decode(jsonData,true)创建数组。



相关阅读