» 首頁 » 討論區 » PHP與網頁技術 »PHP的JSON輸出

PHP的JSON輸出

發表人: Seachaos
積分: 2432
發表時間: 2011-09-09 09:49:16
PHP在5.2版之後已有內建的JSON轉換函數
就首base64_encode, base64_decode 一樣簡單
就是 json_encode , json_decode

json_encode可以把PHP的陣例完美的轉換成json data
範例如下
[sea:phpCode]

$data = array();
$data['list1'] = array( 1 => 'test', 2 =>'test2', 3 => 'test3');
$data['url'] = 'myandroid.tw';
echo json_encode($data);

[/sea]

輸出結果如下:
[sea:phpCode]
{"list1":{"1":"test","2":"test2","3":"test3"},"url":"myandroid.tw"}
[/sea]

這樣就可以和Android或是AJAX等交換資料了
發表人: 訪客
發表時間: 2012-02-13 18:20:08
想請問一下
[sea:phpCode]
$str="SELECT name, address, lat,lng FROM taiwan ";
$list=mysql_query($str,$link);

while(list($name,$address,$lat,$lng)=mysql_fetch_row($list))


$data = array();
$data['list1'] = array( 1 => $name, 2 =>$address, 3 => $lat, 4 => $lng);
$data['url'] = 'myandroid.tw';
echo json_encode($data)."<br>";
[/sea]
為什麼只能印出兩筆呢?
他的值是空的,我爬文過是因為編碼問題,可是我還是無法解決..
發表人: 訪客
發表時間: 2012-02-14 00:35:49
修正一下問題,不是只能印兩筆,是怎麼樣才能一次印出多筆資料(資料庫已建立多筆了)
發表人: 訪客
發表時間: 2012-02-14 00:53:21
應該是你要用迴圈和陣列的方法

[sea:phpCode]
$data = array();
while(list($name,$address,$lat,$lng)=mysql_fetch_row($list)){
$data[]['list'] = array( 1 => $name, 2 =>$address, 3 => $lat, 4 => $lng);
}
[/sea]

這樣看看可不可以
發表人: 訪客
發表時間: 2012-02-14 11:01:04
謝謝大大的協助,我也已解決中文問題!