Monthly Archives: 08月 2010

PHP Json编解码方式

1. PHP5 中已经有json_encode 和json_decode 函数,但是使用的时候老是莫名其妙的问题,于是上网去找其他的JSON解析方式。

2. 先是找到一个国人写的版本,http://blog.joy999.com/show-174-1.html
使用起来还算比较方便,解析出来保存为数组。
$array_utf8 = jsonDecode( $jsonString , ’utf-8′ );
但是,还是有副作用,出现一个莫名其妙的错误,一直找不到解决方案。错误如下:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 35 bytes) in /home/ways34/public_html/t/include/json_decode.php on line 196

3. 无奈之下只好另辟蹊径,再找找其他的方式。于是找到了migurski
写的一个兼容PHP4的JSON编解码的类。
http://mike.teczno.com/json.html
使用方式也比较简单,解析出来是对象数组的形式。
// create a new instance of Services_JSON
$json = new Services_JSON();
$value = $json->decode($jsonData);
取得其中的数据则是 $value[0]->site->url 这种形式.