-4

i am new to json parsing...please help me parsing the following code in android

{"msg":[{"msg":[{"message":"hi","sender":"C"},{"message":"sd","sender":"A"},
{"message":"herold","sender":"C"},{"message":"s","sender":"A"},
{"message":"tu","sender":"A"},{"message":"xx","sender":"A"},{"message":"re","sender":"A"},   
{"message":"tt","sender":"A"},{"message":"yo","sender":"A"},{"message":"ty","sender":"A"}, 
{"message":"tgtttt","sender":"A"},{"message":"gggggg","sender":"A"},
{"message":"don","sender":"A"},{"message":"eee","sender":"A"},
{"message":"iit","sender":"A"},{"message":"tttt","sender":"A"},
{"message":"yuio","sender":"A"}],"index":"128","uid":"a8f15eda80c50adb0e71943adc8015cf"}]}
GrIsHu
  • 29,068
  • 10
  • 64
  • 102
user3400487
  • 39
  • 1
  • 8
  • hope http://stackoverflow.com/questions/9605913/how-to-parse-json-in-android will help you – HackerGK Mar 13 '14 at 05:40
  • 2
    possible duplicate of [how to parse JSONArray in android](http://stackoverflow.com/questions/17136769/how-to-parse-jsonarray-in-android) – Manish Dubey Mar 13 '14 at 05:42

1 Answers1

2

Get your response using the below method:

public static String getWebserviceResponse(String p_url) {
    String m_response = null;
    HttpClient client = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(p_url);
    HttpResponse response;
    System.err.println("Request URL---------->"+ p_url);
    try {
        response = client.execute(httpget);
        if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            InputStream in = response.getEntity().getContent();
            StringBuilder sb = new StringBuilder();
            String line = "";
            BufferedReader bf = new BufferedReader(
                    new InputStreamReader(in));
            while ((line = bf.readLine()) != null) {
                sb.append(line);
            }
            m_response = sb.toString();

        }
    } catch (ClientProtocolException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    return m_response;
}

Parse your response as below:

 String response=getWebserviceResponse("your request Url");
    JSONObject jo = new JSONObject(response);

              JSONArray resultarr = jo.getJSONArray("msg");
        for (int i = 0; i < resultarr.length(); i++) 
                  {

                      JSONObject jObjresult = resultarr.getJSONObject(i);
                         String index = jObjresult .getString("index");
                         String userId=jObjresult .getString("uid"));
                     JSONArray jObj = jObjresult.getJSONArray("msg");
                        for (int j = 0; j < jObj.length(); j++) 
                        {
                  //Get the messages only from the Sender C.
                           String sender=jObj.getString("sender");
                            if(sender.equalsIgnoreCase("C")
                              { 
                                  String message = jObj.getString("message");
                               }
                       }
          }
GrIsHu
  • 29,068
  • 10
  • 64
  • 102