2013-02-27 54 views
1

我向Google GCM服務器https://android.googleapis.com/gcm/send發送一條消息(POST),用於向已註冊的Android設備發送推送通知。 POST正文看起來是這樣的:Android GCM:我們可以將數據作爲完整的JSON結構嗎?

{ 
    "registration_ids" : [android_registration_id], 
    "data" : { 
     "message" : "Hello World!", 
     "update" : "You've got a new update", 
     "info" : "You've got new information updates too!" 
    } 
} 

假設我不知道所有的鍵 - 值對在「數據」字段已經發送給我(GCM註冊Android應用程序),我想枚舉並打印它們,我可以提取「數據」中的字段作爲JSON結構嗎?

例如,在上面的例子中,我需要以下作爲JSON對象:

{ 
    "message" : "Hello World!", 
    "update" : "You've got a new update", 
    "info" : "You've got new information updates too!" 
} 
+0

正如我所知GCM發送的數據封裝在Bundle對象中,但您可以嘗試發送鍵值結構化數據並將值放到您的json中。並不確定它是否會做到這一點。 – hardartcore 2013-02-27 15:10:35

+0

我可以發送整個JSON作爲一個值來假設「json_structure」,正如你所說的那樣,但是我想讓它完全獨立於用戶,無論用戶通過什麼,我都會創建一個JSON結構並顯示鍵值對。 – 2013-02-27 15:19:25

+0

在整個遊戲中扮演用戶的角色是什麼?你將會接受並回復給用戶。 – hardartcore 2013-02-27 15:22:58

回答

3
Bundle data = intent.getExtras(); 
Iterator<String> it = data.keySet().iterator(); 
String key; 
String value; 
while(it.hasNext()) { 
    key = it.next(); 
    value = data.getString(key); 
} 

嘗試此。使用鍵和值你可以構造初始json。

0
JSONArray array = new JSONArray(jsonBodyOfTheResponse); 

for (int i = 0; i < array.length(); i++) { 
    JSONObject row = array.getJSONObject(i); 
    . 
    . 
    . } 
相關問題