php5.2以下版本无json_decode函数的解决方法

yipeiwu_com6年前PHP代码库
今天写代码的时候,需要用到json_decode函数,发现php5.2以前的版本没有集成这个函数,不过我们可以通过自定义函数实现。

复制代码 代码如下:

function json_decode2($json)
{
$comment = false;
$out = '$x=';

for ($i=0; $i<strlen($json); $i++)
{
if (!$comment)
{
if (($json[$i] == '{') || ($json[$i] == '[')) $out .= ' array(';
else if (($json[$i] == '}') || ($json[$i] == ']')) $out .= ')';
else if ($json[$i] == ':') $out .= '=>';
else $out .= $json[$i];
}
else $out .= $json[$i];

if ($json[$i] == '"' && $json[($i-1)]!="\\") $comment = !$comment;
}

    eval($out . ';');
return $x;
}

不过这个返回的是Array

要返回object 则要用到 service_json类了

相关文章

WordPress中"无法将上传的文件移动至"错误的解决方法

今天在网页上传图片到博客,结果提示:“无法将上传的文件移动至 /home/wwwroot/wp-content/uploads/2013/”,郁闷了,认为是权限问题,修改了文件,都改成了...

snoopy PHP版的网络客户端提供本地下载

magpierss中就用到了snoopy,这让我有点兴趣去研究下这个咚咚。再SF上,找到了这个源代码。居然就是一个类,但不要笑看哦,功能可是很强大的。    ...

PHP中list方法用法示例

本文实例讲述了PHP中list方法用法。分享给大家供大家参考,具体如下: <?php function small_numbers() { return array...

Dedecms V3.1 生成HTML速度的优化办法

由于版本兼容性等各方面的原因,实际上dedecms的索引有点混乱,如果索引设置得适合,影响dedecmsHTML生成速度的,主要是获得没有按默认按排序的文章列表的时候,由于要重新排序,数...

PHP中常用的魔术方法

我们在PHP中经常用到魔术方法,像构造方法,析构方法等等魔术变量,下面总结一下一些常用的魔术变量: __construct(),__destruct(),__clone(),__auto...