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

网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了php5.2以下版本无json_decode函数的解决方法,需要的朋友可以参考下
今天写代码的时候,需要用到json_decode函数,发现php5.2以前的版本没有集成这个函数,不过我们可以通过自定义函数实现。

代码如下:

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

for ($i=0; $i<strlen($json); $i++)
{
if (!$ment)
{
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)]!="\\") $ment = !$ment;
}

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

不过这个返回的是Array

要返回object 则要用到 service_json类了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by