0

How to parse this below json response. I am developing a booking app. The response i got from the server is

 {"HotelInformationResponse": {
 "@hotelId": "210985",
  "customerSessionId": "0ABAA826-9AAF-5791-3692-A03326791310",
 "HotelSummary": {
   "@order": "0",
  "hotelId": 210985,
  "name": "Seattle Marriott Waterfront",
  "address1": "2100 Alaskan Way",
  "city": "Seattle",
  "stateProvinceCode": "WA",
  "postalCode": 98121,
  "countryCode": "US",
  "propertyCategory": 1,
  "hotelRating": 4,
  "tripAdvisorRating": 4,
  "locationDescription": "Near Seattle Aquarium",
  "highRate": 645,
  "lowRate": 279,
  "latitude": 47.61016,
  "longitude": -122.34651
},
"HotelDetails": {
  "numberOfRooms": 358,
  "numberOfFloors": 8,
  "checkInTime": "4:00 PM",
  "checkOutTime": "12:00 PM",
  "propertyInformation": "Pets not allowed   Check-in time starts at 4 PM  Check-out  time is Noon  ",
   }

Any method is appreciated

1

4 Answers 4

1

I hope this code can help u

 public static String Profile_response(String response){
            try{
                JSONArray jsonarray = new JSONArray("["+response+"]");
                JSONObject jsonobject = jsonarray.getJSONObject(0);
                parseForcitydetail1(jsonobject.getString("HotelInformationResponse"));


                return response;

            }catch (Exception e) {
                return "\"" + "Access Denied" + "\"";
            }
        }

    public static void parseForcitydetail1(String res){
            try{
                 JSONArray jsonarray1 = new JSONArray(res);
                for(int i=0;i<jsonarray1.length();i++){
                        JSONObject jsonobject = jsonarray1.getJSONObject(i);
                        Hotal_ID.add(jsonobject.getString("@hotelId"));
                        customer_ID.add(jsonobject.getString("customerSessionId"));

            }
 parseForcitydetail2(jsonobject.getString("HotelSummary"));


            }catch (Exception e) {
                System.out.println(e.toString());
            }
        }

    public static void parseForcitydetail2(String res){
            try{
                 JSONArray jsonarray1 = new JSONArray(res);
                for(int i=0;i<jsonarray1.length();i++){
                        JSONObject jsonobject = jsonarray1.getJSONObject(i);
                        Order.add(jsonobject.getString("@order"));
                        hote_ID.add(jsonobject.getString("hotelId"));
    Name.add(jsonobject.getString("name"));                     Address.add(jsonobject.getString("address1"));....
    City.add(jsonobject.getString("city"));
    StateProvinceCode.add(jsonobject.getString("stateProvinceCode")); PostalCode.add(jsonobject.getString("postalCode"));
    CountryCode.add(jsonobject.getString("countryCode"));
    PropertyCategory.add(jsonobject.getString("propertyCategory"));                     HotelRating.add(jsonobject.getString("hotelRating"));....
    TripAdvisorRating.add(jsonobject.getString("tripAdvisorRating"));
    LocationDescription.add(jsonobject.getString("locationDescription")); Latitude.add(jsonobject.getString("latitude"));
    Longitude.add(jsonobject.getString("longitude"));
            }

            }catch (Exception e) {
                System.out.println(e.toString());
            }
        }

This Same process with "HotelDetails" Parsing

Enjoy !

Sign up to request clarification or add additional context in comments.

1 Comment

That's some hideous variable naming.
0

You may use JSONArray and JSONObject to parse it manually. but its boring and may require extra attention to keys while running in loops. The easiest and highly recommended way is to use Google Gson library to handle this automatically.

Comments

0
Using JSONOBject, JSONArray to contain data like JSONObject, JSONArray
Using methods like: getJSONObject(), getString(), getXXX(). . to get data which you want.
with XXX -  data type like int, string

You will understand how to parse JSON in Android easily with the link which describes how to parse JSON clearly (Example): http://www.technotalkative.com/android-json-parsing/

Comments

0
private JSONObject jObject;
jObject = new JSONObject(your response as string);
//this will give you json object for HotelInformationResponse
JSONObject menuObject = jObject.getJSONObject("HotelInformationResponse");
by this way you can get values
String hotelId = menuObject.getString("@hotelId");
String customerSessionId = menuObject.getString("customerSessionId");
//...rest are same do same thing for HotelDetails

for extra information Check this link

1 Comment

While the information at the target URL may answer the question, we prefer the answer to be here on our site, with the link provided as a further reference. Please include relevant information from your source here. Read more at meta.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.