2012-03-12 79 views
0

我已經寫了PHP腳本如下嘗試後的JSON編碼字符串到Android設備如下:如何通過PHP腳本推送的JSONencoded字符串檢索Android網站中的JSON數據數據?

<?php 
// Create HostConnection 
$host = $_SERVER['HTTP_HOST']; 
if ($host) 
{ 
    $data = array('HTTP_HOST' => $host);  
} 
else 
{ 
    $data = array('HTTP_HOST' => "Not Available"); 
} 

// Create Connection 
$link = mysql_connect('127.0.0.1:3306', 'root', 'xxxxxx'); 
if ($link != false) 
{ 
    //echo "mysql_connect success !"; 
    // Set Use UTF-8 String 
    if (mysql_set_charset('utf8', $link) && $db_selected = mysql_select_db("gw")) 
    { 
     // echo "mysql_set_charset() success<br />";  
     array_push($data, "SQL_DB", "gw");   
    } 
} 
else 
{ 
    array_push($data, "SQL_DB", "Not Available"); 
}  

print_r(urldecode(json_encode($data))); 
?> 

後到Android設備之前,我在本地主機(127.0.0.1)運行這個PHP腳本,並得到屏幕上顯示的結果爲:

{"HTTP_HOST":"127.0.0.1","0":"SQL_DB","1":"gw"} 

爲什麼有3組數據?我真正想要的是顯示的2組數據,並準備發送到Android設備上的嵌套步驟。我錯在哪裏?如果是,那麼在Android端檢索編碼的JSON數組字符串的正確過程是什麼?

回答

2

您不是將數組推向數組,而是單個元素。您不能使用您顯示的方法添加關聯數組值。

使用

$data["SQL_DB"] = "gw";  

代替。

+0

非常好,遵循Pekka的指令來修改PHP腳本,它的工作和滿足我的期望! – cmh 2012-03-12 11:57:42