2012-03-12 4 views
0

:Androidデバイスへ投稿する前に、PHPスクリプトでプッシュされたJSONencoded文字列を使用してAndroidサイトのJSON配列データを取得する方法は?私は以下のようにAndroidデバイスにJSONエンコードされた文字列を投稿してみてください下のPHPスクリプトを書いた

<?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))); 
?> 

、私はローカルホスト(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

偉大な、PHPスクリプトを変更するPekkaの指示に従う、それは仕事であり、私のexpectionを満たす! – cmh

関連する問題