漫談JSON類的相關問題和及其使用方法
作者:佚名
JSON類本身什么都不是,只是保存字符的文件。而瀏覽器異步讀取的只是服務器上的文本內容,所以在Ajax開發時完全不必拘泥于XML。
學習JSON類時,你可能會遇到各種樣的問題,這里將介紹關于它的解決方法,在這里拿出來和大家分享一下,現在經常用到PHP和JS進行數據交互,使用最多的一般就是JSON類,我來用自己的話說說兩類語言中的數據交互吧。#t#
在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類的介紹說明,歡迎大家學習切磋。
責任編輯:chenqingxiang
來源:
cnsoftnews