2012-04-10 10 views
0

Wie analysiert dies unter JSON Antwort. Ich entwickle eine Buchungs-App. Die Antwort, die ich vom Server bekam istWie zu analysieren JSON Antwort Android

{"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 ", 
    } 

Jede Methode

geschätzt
+0

http://stackoverflow.com/questions/2818697/sending- und-Parsing-JSON-in-Android –

+0

Verwenden Sie JSON, vielleicht? – m0skit0

Antwort

0

Sie JSONArray und JSONObject verwenden können, um es manuell zu analysieren. aber es ist langweilig und erfordert möglicherweise mehr Aufmerksamkeit auf Tasten während des Laufens in Schleifen. Am einfachsten und am besten zu empfehlen ist die Verwendung der Bibliothek Google Gson, um dies automatisch zu handhaben.

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 

für zusätzliche Informationen Check this link

+0

Während die Informationen auf der Ziel-URL die Frage beantworten können, bevorzugen wir die Antwort * hier auf unserer Website *, wobei der Link als weitere Referenz dient. Bitte geben Sie hier relevante Informationen aus Ihrer Quelle an. [Lesen Sie mehr bei meta.] (Http://meta.stackexchange.com/a/8259) – animuson

+0

@animuson - danke für den Vorschlag. –

1

ich diesen Code Hoffnung 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()); 
      } 
     } 
helfen kann

Der gleiche Prozess mit "Hoteldetails" Parsing

Viel Spaß!

+0

Das ist eine scheußliche Variablenbenennung. – cdmckay

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 

Sie werden verstehen, wie JSON in Android mit dem Link leicht zu analysieren, die beschreibt, wie JSON parsen klar (Beispiel): http://www.technotalkative.com/android-json-parsing/

Verwandte Themen