2012-11-15 37 views
1

我有這樣的結構在安卓如何從Android到PHP訪問json子對象?

HttpPost post = new HttpPost(url); 

     mjson.put("receiveOrderId", receiveOrderId); 
     mjson.put("packageId", packageId); 
     mjson.put("partNumber", partNumber); 
     mjson.put("qty", qty); 
     mjson.put("serial", serial); 
     mjson.put("locationId", locationId); 

     json.put("version", "6"); 
     json.put("token", token); 
     json.put("data", mjson); 

     post.setHeader("json", json.toString()); 
     StringEntity se = new StringEntity(json.toString()); 
     se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, 
       "application/json")); 
     post.setEntity(se); 
     response = client.execute(post); 

而且我需要在PHP解碼,我怎麼能訪問「部分號碼」或「數量」的值是多少?

嘗試這種方式,但它沒有工作:

$data = file_get_contents('php://input'); 
$json = json_decode($data); 
$version = $json->{'version'}; 
$token = $json->{'token'}; 
$receiveOrderId = $json->{'receiveOrderId'}; 
$packageId = $json->{'packageId'}; 
$partNumber = $json->{'partNumber'}; 
$qty = $json->{'qty'}; 
$serial = $json->{'serial'}; 
$locationId = $json->{'locationId'}; 

* 對不起我的英文不好,來自墨西哥的IM。

+0

您是否嘗試打印出'$ data'或'$ json'來確保它有你發送的所有數據? – Eric

+0

是的,我打印$數據和信息是好的!但我無法訪問個別元素 – chuyitox

回答

0

你能打印你的$ json嗎?

var_dump($json); 

它必須看起來像:

'{"qty": 123, "version": "xxxxx"}'; 

確保目錄名稱(數量,版本,...)是由雙引號,不是單引號擁抱

+0

他們有單引號,爲什麼? – chuyitox