解析android中的复杂Json对象

时间:2013-12-19 13:06:28

标签: android json

我想从json对象中检索以下字段

  

来自OriginLocation =>> CityCode,DepartureDate,DepartureTime

     

来自DestinationLocation =>> CityCode,ArrivalTime,ArrivalDate

     

来自票价=>> OrigTotalFareAmt

     

来自FlightDetails ==>> CabinClassCode,JourneyDuration

使用一个for循环

http://pastie.org/8563070#7

1 个答案:

答案 0 :(得分:0)

试试这个。

private void parseJson(JSONObject data) {

        if (data != null) {
            Iterator<String> it = data.keys();
            while (it.hasNext()) {
                String key = it.next();
                try {
                    if (data.get(key) instanceof JSONArray) {
                        JSONArray arry = data.getJSONArray(key);
                        int size = arry.length();
                        for (int i = 0; i < size; i++) {
                            parseJson(arry.getJSONObject(i));
                        }
                    } else if (data.get(key) instanceof JSONObject) {
                        parseJson(data.getJSONObject(key));
                    } else {
                        System.out.println("Key :" + key);
                        System.out.println("Value :" + data.getString(key));
                    }
                } catch (Throwable e) {
                    try {
                        System.out.println("Key :" + key);
                        System.out.println("Value :" + data.getString(key));
                    } catch (Exception ee) {
                    }
                    e.printStackTrace();

                }
            }
        }
    }