PHP中のjson_encode()和json_decode

変数JSONをエンコードするjson_encode()

あなたは知っている必要があります。

  • JSONデータは、実際の文字列である、あなたは()のvar_dump使用するデータの種類を確認するためにプリントアウトすることができます。
  • そうでない場合はfalse成功したリターンJSONデータの実装、
    例えば:
$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
$json = json_encode($book);
echo $json
//{"a":"xiyouji","b":"sanguo","c":"shuihu","d":"hongloumeng"}

JSONデータにjson_decode()の可変PHPに変換され、符号化されます

構文:json_decode($のJSON [、$の ASSOC = falseを[、$深さ= 512 [、$オプション= 0]]])
NOTE:

  • $ JSONはデータ復号する、符号化されたデータは、UTF8必要があります
  • 戻り値がtrueの$連想の配列である場合には、オブジェクト場合、falseを返します
  • 再帰レベルの$の深さ
  • $オプションバイナリーマスクは、現在だけJSON_BIGINT_AS_STRINGをサポートしています。
  • 通常、最初の2つのパラメータ、あなたがtrueに設定されているデータ型パラメータを追加したい場合は
    、たとえば、:
$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
	$json = json_encode($book);

	$array = json_decode($json,TRUE);
	$obj = json_decode($json);
	var_dump($array);
	//array(4) {["a"]=>string(7)"xiyouji" ["b"]=>string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=>string(11) "hongloumeng"}
	var_dump($obj);
	//object(stdClass) #2 (4)  {["a"]=>string(7)"xiyouji" ["b"]=>string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=>string(11) "hongloumeng"}

結果は2つの間に大きな違いはないように見えるが、要素の内側に呼び出す際に、アレイとobjが別の方法である
例:

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');
        $json = json_encode($book);
        
        $array = json_decode($json,TRUE);
        $obj = json_decode($json);
        var_dump($array['b']);//调用数组元素
        echo '<br/>';
        var_dump($obj->c);//调用对象元素
        //string(6) "sanguo"
		//string(6) "shuihu" 

おすすめ

転載: blog.csdn.net/qq_42216575/article/details/90029826