PHP在5.2版之後已有內建的JSON轉換函數
就和base64_encode, base64_decode 一樣方便簡單使用
php的內建json方法就是 json_encode , json_decode
json_encode可以把PHP的陣例完美的轉換成json format
範例如下
$data = array(); $data['list1'] = array( 1 => 'test', 2 =>'test2', 3 => 'test3'); $data['url'] = 'myandroid.tw'; echo json_encode($data);
輸出結果如下:
{"list1":{"1":"test","2":"test2","3":"test3"},"url":"myandroid.tw"}
json_decode是將json轉成PHP Array或是Object的方式
傳統上會用 (第二個參數是true)
json_decode('{"list1":{"1":"test"},"url":"myandroid.tw"}', true);
這樣會回傳成php的array, var_dump如下
array(2) { ["list1"]=> array(1) { [1]=> string(4) "test" } ["url"]=> string(12) "myandroid.tw" }
如果第二個參數是false,就會變成物件的方式
差別如下 ( echo為同樣取得url值 ):
$array = json_decode('{"list1":{"1":"test"},"url":"myandroid.tw"}', true); echo $array['url']; $obj = json_decode('{"list1":{"1":"test"},"url":"myandroid.tw"}', false); echo $obj->url;
善用以上方法,就可以和Android/iOS或是AJAX等交換資料了
沒有留言:
張貼留言