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

今天写代码的时候,需要用到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;


}




SyntaxHighlighter.highlight();