2013-03-12 31 views
1

我試圖讓這個JSON編碼輸出接收多個JSON對象(陣列)(Eclipse的)

$response["success"] = $id; 
echo json_encode($response); 
echo json_encode($eventid); 

而$響應僅包含一個整數在[「成功]和$事件ID包含數組。IDS(例如[「1」,「3」]) 所以PHP文件輸出例如這樣的:

{"success":"3"}["1","3","7"] 

現在我試圖讓雙方的成功,和事件ID我得到成功與

int id = json.getInt("success"); 

它的工作原理,問題是要得到數組eventids。 我發現這個職位:stackoverflow但它對我沒有幫助,因爲我沒有數組中的每個單一元素的標籤。 所以問題是我是否必須爲每個元素添加標籤,還是有另一種我可以使用的語法?

在此先感謝

+1

這會更好,如果你添加標籤 – 2013-03-12 08:32:03

回答

5

提供的JSON無效。您需要修改它看起來像這樣:

{ 
    "success": "3", 
    "elements": [ 
     "1", 
     "3", 
     "7" 
    ] 
} 

如果你這樣做,你就可以做到這一點:

JSONArray array = json.getJSONArray ("elements"); 
for (int counter = 0; counter < array.length(); counter ++) 
    Log.d ("element", array.getInt (counter)); 
+0

謝謝,這個工程! – Werdli 2013-03-12 08:36:31

+0

很高興幫助。如果它完全解決了您的問題,您可以將其標記爲選定的答案。 – Shade 2013-03-12 08:37:19

+0

還剩5分鐘.. – Werdli 2013-03-12 08:37:47

2

我會內$response就像你$success

做編碼 $eventid
$response["success"] = $id; 
$response["eventid"] = $eventid; 
echo json_encode($response); 

產量:

{"success":3,"eventid":[ 1, 3, 7]} 
+0

這個解決方案也可以,謝謝! – Werdli 2013-03-12 08:35:46

+0

唔該死,不能給兩個人解決嗎?如果我不是最好的答案,那麼如何得到讚揚呢? – jnovack 2013-03-12 08:54:59

+0

是的,它確定了我的具體問題的一個可能的答案,但陰影更普遍,當然我upvoted你的(: – Werdli 2013-03-12 09:13:16