JSON は軽量のテキスト データ交換形式であり、XML よりも小さく、高速で、解析が簡単です。そのため、PHP の開発プロセスでは、JSON を使用してデータを転送することがよくあります。 . JSON データの操作
PHP は通常、JSON データを操作するために AJAX で使用されることが多く、JSON 形式のデータを AJAX に渡すことも、AJAX から返された JSON データを必要な文字列に解析することもできます。 PHP では、json_decode() 関数を使用して JSON 形式のデータを解析し、json_encode() 関数を使用して文字列 (配列) を JSON 形式に生成できます。
最初に例を見てください:
例 1:
Php コード
<?php $json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }'; var_dump(json_decode($json)); echo "<br/>"; var_dump(json_decode($json,true)); ?>
出力:
object(stdClass)#1 (5) { ["a"]=> int(1) [" b" ]=> int(2) ["c"]=> int(3) ["d"]=> int(4) ["e"]=> int(5) }
配列(5) { ["a"]=> int(1) ["b"]=> int(2) ["d"]=> int; 4) ["e"]=> int(5) }
例 2:
Php コード
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
出力:
{"a":1,"b":2,"c ": 3,"d":4,"e":5}
例 1 から、json_decode 関数を使用して JSON データを配列に変換できることがわかります。ただし、JSON データがネストされている場合、 JSON データの場合、このように直接記述することはできません。カスタム関数を使用して、ネストされた JSON データを配列に変換する必要があります。
例:
Php コード
<?php function json_to_array($web){ $arr=array(); foreach($web as $k=>$w){ if(is_object($w)) $arr[$k]=json_to_array($w); //判断类型是不是object else $arr[$k]=$w; } return $arr; } ?>
呼び出し例:
Php コード
<?php $s='{"webname":"UncleToo","url":"www.uncletoo.com","menu":{"PHP":"1","DataBase":"2","Web":"3"}}'; $web=json_decode($s); $arr=json_to_array($web); print_r($arr); ?>
出力:
Array ( [webname] => UncleToo [url] => com [ menu] => Array ( [PHP] => 1 [DataBase] => 2 [Web] => 3 ) )
上記は、PHP で JSON データを操作するための一般的な方法です。や方法については、UncleToo と話し合ってください。