user2132063 user2132063 - 4 months ago 4
Java Question

how to get data from Json object?

i am working on a android app which is integrated with facebook . i am using fql query to fetch info from facebook. my fql method is

void runfql(){
String fqlQuery = "SELECT uid, name, pic_small,birthday FROM user WHERE uid IN " +
"(SELECT uid2 FROM friend WHERE uid1 = me() )";
Bundle params = new Bundle();
params.putString("q", fqlQuery);
Session session = Session.getActiveSession();
Request request = new Request(session,
"/fql",
params,
HttpMethod.GET,
new Request.Callback(){
public void onCompleted(Response response) {

JSONObject myjson=response.getGraphObject().getInnerJSONObject();
Log.d("ResultResultResult: " ,""+myjson);
}
});
Request.executeBatchAsync(request);

}


myjson object has all info i want. like this

{"data":[{"uid":536089174,"birthday":"July 22","name":"Usman Aslam Sheikh"},{"uid":581379174,"birthday":"July 26","name":"Ammar Khalid"}


question is how to store that information into different arrays??

please right some code for this purpose.?

Answer
String jsonString = yourstring;
JSONObject jsonResult = new JSONObject(jsonString);
JSONArray data = jsonResult.getJSONArray("data");
if(data != null) {
    String[] names = new String[data.length()];
    String[] birthdays = new String[data.length()];
    for(int i = 0 ; i < data.length() ; i++) {
        birthdays[i] = data.getString("birthday");
        names[i] = data.getString("name");
    }
}

check http://www.androidhive.info/2012/01/android-json-parsing-tutorial/