學習JSON類時,你可能會遇到各種樣的問題,這裡將介紹關於它的解決方法,在這裡拿出來和大家分享一下,現在經常用到PHP和JS進行數據交互,使用最多的一般就是JSON類,我來用自己的話說說兩類語言中的數據交互吧。
在PHP中,存在方法JSON_encode JSON_decode其中前者多用於將PHP的數組ARRAY轉化為JSON格式:{"a":"a1","b":"b1"}後者則用於將JSON格式轉化為PHP的對象,並可以通過$obj->a來調用(不理解別著急,一會看看下邊的例子)
自己寫的一個實例,可以copy下去自己試試看:
- <?PHP
- $string=array(
- "num1"=>"one",
- "num2"=>"two",
- "num3"=>array(
- "num31"=>"three_one",
- "num32"=>"three_two",
- )
- );
- print_r($string);
- echo"<br/>";
- $JSon=JSon_encode($string);
- echo$JSon;
- $fJSon=JSon_decode($JSon);
- echo"<br/>";
- print_r($fJSon);
- echo"<br/>";
- echo$fJSon->num3->num31;
- echo"<br/>";
- $arr=(array)$fJSon;
- print_r($arr);
- echo"<br/>";
- $arr2=(array)$fJSon->num3;
- print_r($arr2);
- echo"<script>alert($JSon.num3.num31)</script>";
- ?>
- 輸出的結果:
- Array([num1]=>one[num2]=>two[num3]=>Array([num31]=>three_one[num32]=>three_two))
- {"num1":"one","num2":"two","num3":{"num31":"three_one","num32":"three_two"}}
- stdClassObject([num1]=>one[num2]=>two[num3]=>stdClassObject([num31]=>three_one[num32]=>three_two))
- three_one
- Array([num1]=>one[num2]=>two[num3]=>stdClassObject([num31]=>three_one[num32]=>three_two))
- Array([num31]=>three_one[num32]=>three_two)
以上就是對於JSON類的介紹說明,歡迎大家學習切磋。