public List<Map<String, Object>> dynamiclistInf(String url) {
String jsonStr = obtainHttpResource(url);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); 
JSONObject object = null;
try {
object = (JSONObject) new JSONTokener(jsonStr).nextValue();
if("1000000".equals(object.getString("respCode"))){
JSONArray array = object.getJSONArray("resultList");
for (int i = 0; i < array.length(); i++) {
Map<String, Object> map = new HashMap<String, Object>();
JSONObject jsonOb = array.getJSONObject(i);
map.put("airline",jsonOb.getString("airline"));
map.put("depTime", jsonOb.getString("depTime"));
map.put("arrTime", jsonOb.getString("arrTime"));
map.put("fromCity", jsonOb.getString("fromCity"));
map.put("toCity", jsonOb.getString("toCity"));
map.put("flightCode", jsonOb.getString("flightCode"));
list.add(map);
}
System.out.println("##################");
return list;
} else {
return list;
}
}catch(Exception e){
System.out.println("===========");
e.printStackTrace();
return null;
}
}
#号打印了,=号没打印,但#号后的return没走,走完#号直接跳到=后的return null了

解决方案 »

  1.   

    只有catch到Exception了才能走到=号后面的null
    楼主把报错信息贴上来看看
      

  2.   

    如果用的是ajax,你这返回值就写的有问题。建议把报错代码贴上,关键部分。
      

  3.   

    这段代码是不报错的,只是走的比较奇怪而已,本该走第一个return的却意外的走了最后一个,没用ajax
      

  4.   

    org.json.JSONException: No value for resultList
    at org.json.JSONObject.get(JSONObject.java:354)
    at org.json.JSONObject.getJSONArray(JSONObject.java:544)
    at cn.bonc.util.PlaneTicketFetchData.dynamiclistInf(PlaneTicketFetchData.java:151)
    at cn.bonc.ui.PTDynamicResult.onCreate(PTDynamicResult.java:48)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:3683)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
    是有段警告,望高手指点一二
      

  5.   


    System.out.println("##################");
    return list;楼主你确定是“走完#号直接跳到=后的return null了”吗?单步跟的么?既然没错,那返回的是什么?
      

  6.   

    如果打印了# 并且报错说明才走到 return null那一步
    如果是其他报错木有打印# 就不是这代码的问题.
      

  7.   

    我确定是这么走的,是单步跟的,返回是null,程序没报错
      

  8.   

    不是代码的问题那是什么问题呢,解析的东西里有个网址,http://xxx.yyy.zzz:7080/mmm.action与这无关吧