2013-08-29 44 views
-2

送我有這個JSON機器人,PHP,在PHP文件解析JSON在Android

{ 
    "count":"3", 
    "num":"1", 
    "array":[ 
     { 
     "id":"a_a", 
     "amount":56, 
     "duration":"0:12", 
     "time":1234566, 
     "type":0 
     }, 
     { 
     "id":"a_a", 
     "amount":56, 
     "duration":"0:12", 
     "time":1234566, 
     "type":1 
     } 
    ] 
} 

創造了它在Android和由**HttpPost**

發送它,我已經嘗試了很多的方法來獲得在PHP中的數據,我的PHP文件是這樣的:

<?php 
    $response = array(); 
//$json_data = json_encode(stripslashes($_POST['jsonarray'])) 

    $josn = file_get_contents("php://input"); 
    $json_data = json_decode($josn,true); 

    $count = $json_data->{'count'}; 
    $num = $json_data["num"]; 

    $response["data"]=$count; 
    $response["data2"]=$num; 
     // echoing JSON response 
     echo json_encode($response); 
?> 

$count$num始終返回null,任何幫助,請和感謝。

+0

你肯定'$ josn '有什麼價值?你能告訴我們輸出嗎? –

+0

是的,它返回'{\\\「count \\\」:\\\「2 \\\」,\\\「num \\\」:\\\「1 \\\」,\\\「陣列\\\ 「:[{\\\」 ID \\\ 「:\\\」 A_A \\\」,\\\ 「量\\\」:56,\\\ 「持續時間\\\」: \\\ 「0:12 \\\」,\\\ 「時間\\\」:1234566,\\\ 「類型\\\」:0},{\\\ 「ID \\\」:\\ \ 「A_A \\\」,\\\ 「量\\\」:56,\\\ 「持續時間\\\」:\\\ 「0:12 \\\」,\\\「時間\\\ 「:1234566,\\\」 類型\\\ 「:1},{\\\」 ID \\\ 「:\\\」 A_A \\\」,\\\ 「量\\\」:56, \\\「duration \\\」:\\\「0:12 \\\」,\\\「time \\\」:1234566,\\\「type \\\」:2}]}' – alaa7731

+0

那麼'$ json_data'輸出是什麼呢? –

回答

0
$json_data = json_decode($josn,true); 

這將返回一個數組,而不是一個對象(您稍後在代碼中使用)。使用此JSON字符串轉換爲對象:

$json_data = json_decode($josn); 

或者你可以只使用數組,在這種情況下,你的代碼應該是這樣的:

<?php 
$response = array(); 
//$json_data = json_encode(stripslashes($_POST['jsonarray'])) 

$josn = file_get_contents("php://input"); 
$json_data = json_decode($josn, true); // using true to get array 

$count = $json_data["count"]; // accessing array values as normal 
$num = $json_data["num"]; // accessing array values as normal 

$response["data"] = $count; // instead of setting $count first you could just add 
$response["data2"] = $num; // the json_data array values directly to the response array 

// echoing JSON response 
echo json_encode($response); 
+0

非常感謝@JimL,我的問題是,我不熟悉PHP,並在PHP中使用數組或對象,但知道我知道如何從JSON獲取數組或單個對象,非常感謝你 – alaa7731