views:

34

answers:

1

Hello Team,

Here I am posting the Json Response: {"ResultSet": {"Result":[ {"Phone":"(650) 473-9999", "Distance":"2.59", "MapUrl":"http://maps.yahoo.com/maps_result?q1=441+Emerson+St+Palo+Alto+CAgid1=28734629", "Categories": {"Category":[ {"content":"Salad Restaurants", "id":"96926225"}, {"content":"Vegetarian Restaurants", "id":"96926239"}, {"content":"Pizza", "id":"96926243"}, {"content":"Wine", "id":"96926864"}, {"content":"Alcoholic Beverages", "id":"96929810"}]}, Now I just want to parse the data

{"content":"Salad Restaurants", "id":"96926225"}, {"content":"Vegetarian Restaurants", "id":"96926239"}, {"content":"Pizza", "id":"96926243"}, {"content":"Wine", "id":"96926864"}, {"content":"Alcoholic Beverages", "id":"96929810"}

from the Category Tag. Can anybody please help me, I am able to parse from the Result Tag. Here is my code : private String connect(String url) { // Create the httpclient HttpClient httpclient = new DefaultHttpClient();

    //Prepare a request Object
    HttpGet httpget = new HttpGet(url);

    //Response Declaration
    HttpResponse response;

    //Return String Declaration

    String returnString = null;


     try 
     {

            // Open the webpage.
            response = httpclient.execute(httpget);

            if(response.getStatusLine().getStatusCode() == 200)
            {
                // Connection was established. Get the content. 

                HttpEntity entity = response.getEntity();
                // If the response does not enclose an entity, there is no need
                // to worry about connection release

if (entity != null) { // A Simple JSON Response Read InputStream instream = entity.getContent();

                    // Load the requested page converted to a string into a JSONObject.
                    JSONObject myAwway = new JSONObject(convertStreamToString(instream));
                    Log.e(DATA, "myData");
                    System.out.println("Response : - - " + myAwway);
                    // Get the query value'

                   // String phone = myAwway.getString("Phone");

                /*   String resultset = myAwway.getString("ResultSet");
                   JSONObject temp = new JSONObject(resultset);
                   String string = temp.getString("Result");
                   JSONArray result = new JSONArray(string);
                   */

                       String resultset = myAwway.getString("ResultSet");
                       JSONObject temp = new JSONObject(resultset);
                       String string = temp.getString("Category");
                       JSONArray result = new JSONArray(string); 

                  /* JSONObject temp1 = new JSONObject(string);
                   String string1 = temp1.getString("Category");
                   JSONArray result1 = new JSONArray(string1);
                   */

                   //JSONArray result = myAwway.getJSONArray("Result").getString(resultset);

                   // JSONArray result = myAwway.getJSONArray("Result");
                    // Build the return string.
                    returnString = "DataFound: " + result.length();
                    for (int i = 0; i < result.length(); i++) 
                    {  

                        //returnString += "\n\t" + result.getString(i);
                        returnString += "\n\t" + result.getJSONObject(i).getString("Phone");
                        returnString += "\n\t" + result.getJSONObject(i).getString("Distance");
                        returnString += "\n\t" + result.getJSONObject(i).getString("BusinessUrl");
                        returnString += "\n\t" + result.getJSONObject(i).getString("Rating");
                        /*for (int j = 0; j < result1.length(); j++)
                        {
                            returnString += "\n\t" + result1.getJSONObject(j).getString("Category");
                        } */

                        System.out.println("JsonOutPut:---" + result);
                    }



                    // Close the stream.
                    instream.close(); 
                }
            }
            else 
            {
                // code here for a response other than 200.  A response 200 means the webpage was ok
                // Other codes include 404 - not found, 301 - redirect etc...
                // Display the response line.
                returnString = "Unable to load page - " + response.getStatusLine();
            }
        }
        catch (IOException  ex)
        {
            // thrown by line 80 - getContent();
            // Connection was not established
            returnString = "Connection failed; " + ex.getMessage();
        }
        catch (JSONException ex)
        {
            // JSON errors
            returnString = "JSON failed; " + ex.getMessage();
        }

        return returnString;
    }
+1  A: 

http://jsonviewer.stack.hu/

That ought to help you :-)

Christian Sciberras
+1 Nifty little tool.
Octavian Damiean