変数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"