ホームページ  >  記事  >  バックエンド開発  >  php jsonを配列形式に変換するためのコード共有、json array_PHPチュートリアル

php jsonを配列形式に変換するためのコード共有、json array_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:14:29788ブラウズ

php jsonを配列形式に変換したコード共有、json配列

json を配列に変換するために記述されたクラスとメソッド。実際、記述されたメソッドは、json 文字列を含むほとんどのデータ構造を配列に変換できます。

コードをコピーします コードは次のとおりです:
クラスantiTranJson
{
保護された静的関数 jsonToArray($json)
{
If(!is_string($json) || is_null(json_decode($json, true)))
throw new NotJsonStringException('param は json 文字列ではありません');
$deJson = json_decode($json, true);
self::toArray($deJson) を返します;
}
保護された静的関数 stdClassToArray($stds)

{
If(is_object($stds))
throw new NotObjectException('params not object');
$params = get_object_vars($stds);
self::toArray($params);を返します
}

保護された静的関数arrayRToArray($params)

{
$tmp = array();
If(!is_array($params))
throw new NotArrayException('params not array');
foreach($params as $k=>$v)
{
$tmp[$k] = self::toArray($v);
}
//var_dump($tmp);
$tmp;
を返します }

//このメソッドを呼び出すと、jsonを含むすべてのデータを変換できます

パブリック静的関数 toArray($params)
{
$tmp = array();
If(is_string($params) && !is_null(json_decode($params)))
$tmp = self::jsonToArray($params);
elseif(is_array($params))
$tmp = self::arrayRToArray($params);
//ここで注意してください、$params がオブジェクトの場合、変換は含まれるプロパティが読み取り可能な場合にのみ実行できます (パブリックまたは一時的なオブジェクト プロパティ)。 elseif(is_object($params))
$tmp = self::stdClassToArray($params);
それ以外
$tmp = $params;
$tmp;
を返します }


上記は、少なくとも現在でも使用できるコードです。何か良い提案があれば、一緒に議論して進めていただければ幸いです。


http://www.bkjia.com/PHPjc/909345.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/909345.html技術記事 phpのjsonを配列形式に変換するためのコード共有. json arrayで書かれたjsonを配列に変換するためのクラスとメソッド. 実際に書かれたメソッドはjson文字列を含むほとんどのデータ構造を変換できます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。