今天寫代碼的時候,需要用到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類了