2013-12-17 116 views
0

如何從下面的字符串中獲取值fan_count,1stmessagecreated_time從facebook jql提取json值

我曾嘗試下面的代碼,但顯然是行不通的:

facebook_Fan_Count = queryResults.get(0).getString("fan_count"); 
facebook_post = queryResults.get(0).getString("message"); 

字符串:

{ 
    "data": [ 
    { 
     "name": "count", 
     "fql_result_set": [ 
     { 
      "fan_count": 732 
     } 
     ] 
    }, 
    { 
     "name": "messages", 
     "fql_result_set": [ 
     { 
      "message": "Weekly class with Sheikh Hassan on TILAWA \n(implementing tajweed)\n\nEvery Friday after Maghreb\nCommencing 6th December at Daar Ibn Abbas.", 
      "timeline_visibility": "normal", 
      "created_time": 1386230874 
     }, 
     { 
      "message": "SMS SERVICE:\n\nTo keep up to date with events and prayer times at Daar Ibn Abbas please inbox us your name and number.\n\nJazackAllah khier", 
      "timeline_visibility": "starred", 
      "created_time": 1386022521 
     } 
     ] 
    } 
    ] 
} 

回答

0

要提取fan_count,第一條消息的價值和CREATED_TIME你可以做JSON解析

JSONArray ar = (JSONArray) jsonObject.get("data"); 

您可以遍歷此數據並獲取您的第1條消息

從拳頭迭代就可以得到fan_count

jsonObject = (JSONObject) ar.get(0); 

fan_count不是字符串它的類型是長期的。

,所以你需要從第二次迭代做這樣的事

long count = (Long) jsonObject.get("fan_count"); 

你可以得到

jsonObject = (JSONObject) ar.get(1); 
String message = (String) obj1.get("message"); 
long dt = (Long) obj1.get("created_time"); 
+0

你這裏 – Ossama

+0

JSON-簡單的庫使用JSON什麼庫中的信息和創建日期 – Yasmeen

+0

我得到錯誤錯誤:不兼容的類型:字符串不能轉換爲int JSONArray ar =(JSONArray)queryResults.get(「data」);當使用列表 queryResults = facebookClient.executeFqlQuery(query,JsonObject.class); JSONArray ar =(JSONArray)queryResults.get(「data」); – Ossama