php 5.2以下のバージョンはjson_がありません。decode関数の解決方法

821 ワード

今日コードを書く時は、json_を使います。decode関数は,php 5.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;
}
でも、これはアレです。
objectに戻るにはservice_を使います。Json類です