漫談JSON類(lèi)的相關(guān)問(wèn)題和及其使用方法
學(xué)習(xí)JSON類(lèi)時(shí),你可能會(huì)遇到各種樣的問(wèn)題,這里將介紹關(guān)于它的解決方法,在這里拿出來(lái)和大家分享一下,現(xiàn)在經(jīng)常用到PHP和JS進(jìn)行數(shù)據(jù)交互,使用最多的一般就是JSON類(lèi),我來(lái)用自己的話說(shuō)說(shuō)兩類(lèi)語(yǔ)言中的數(shù)據(jù)交互吧。#t#
在PHP中,存在方法JSON_encode JSON_decode其中前者多用于將PHP的數(shù)組ARRAY轉(zhuǎn)化為JSON格式:{"a":"a1","b":"b1"}后者則用于將JSON格式轉(zhuǎn)化為PHP的對(duì)象,并可以通過(guò)$obj->a來(lái)調(diào)用(不理解別著急,一會(huì)看看下邊的例子)
自己寫(xiě)的一個(gè)實(shí)例,可以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>";
- ?>
- 輸出的結(jié)果:
- 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)
以上就是對(duì)于JSON類(lèi)的介紹說(shuō)明,歡迎大家學(xué)習(xí)切磋。