2012-04-10 13 views
0

jsonの応答の下でこれを解析する方法。私は予約アプリを開発しています。私はサーバから得た応答がjsonの応答を解析する方法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 ", 
    } 

である任意の方法は、あなたがそれを手動で解析するJSONArrayとJSONObjectを使用することができ

+0

http://stackoverflow.com/questions/2818697/sending- and-parsing-json-in-android –

+0

JSONを使用していますか? – m0skit0

答えて

0

を高く評価しています。それは退屈であり、ループ内で実行中にキーに特別な注意を払う必要があるかもしれません。最も簡単で推奨される方法は、これを自動的に処理するためにGoogle Gsonライブラリを使用することです。追加情報について

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 

Check this link

+0

ターゲットURLの情報が質問に答えるかもしれませんが、私たちはサイト*の回答を参考にしてください。あなたのソースからの関連情報をここに含めてください。 [メタをもっと読む](http://meta.stackexchange.com/a/8259) – animuson

+0

@animuson - ありがとうございました。 –

1

私はこのコードは

をお楽しみ解析U "をHotelDetails" と

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()); 
      } 
     } 

これと同じプロセスを助けることができると思います!

+0

それは、いくつかの恐ろしい変数の命名です。 – 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 

あなたは明確にJSONをパースする方法について説明しますリンク(例)で簡単にAndroidの中でJSONをパースする方法を理解するであろう: http://www.technotalkative.com/android-json-parsing/

関連する問題