Android JSON解析问题

时间:2013-01-01 15:08:37

标签: android json parsing

我有一个json文件,其中包含一系列不同的类别,我想检查类别,如果匹配给定条件我希望在listview中显示,这就是我想出来的......但它确实有效,listview为空

ArrayList<HashMap<String, String>> eventsList = new ArrayList<HashMap<String, String>>();

        try {
            JinnerObject = Jobject.getJSONObject("data");
            Jarray = JinnerObject.getJSONArray("events");
            for(int i = 0; i < Jarray.length(); i++){
                JeventObject = Jarray.getJSONObject(i);

                String  _EV_OP1         = JeventObject.getString(EV_OP1);
                String  _EV_OP2         = JeventObject.getString(EV_OP2);
                String  _EV_COEF1       = JeventObject.getString(EV_COEF1);
                String  _EV_COEF2       = JeventObject.getString(EV_COEF2);
                String  _EV_STIME       = JeventObject.getString(EV_STIME);
                String  _EV_HOST        = JeventObject.getString(EV_HOST);
                String  _EV_DESC        = JeventObject.getString(EV_DESC);
                String  _EV_TIP         = JeventObject.getString(EV_TIP);
                String  _EV_CAT         = JeventObject.getString(EV_CAT);

                    if(_EV_CAT == C){
                    HashMap<String, String> Events_map = new HashMap<String, String>();

                    Events_map.put(EV_OP1,      _EV_OP1);
                    Events_map.put(EV_OP2,      _EV_OP2);
                    Events_map.put(EV_COEF1,    _EV_COEF1);
                    Events_map.put(EV_COEF2,    _EV_COEF2);
                    Events_map.put(EV_STIME,    _EV_STIME);
                    Events_map.put(EV_HOST,     _EV_HOST);
                    Events_map.put(EV_DESC,     _EV_DESC);
                    Events_map.put(EV_TIP,      _EV_TIP);

                    eventsList.add(Events_map);
                    }
            }
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:3)

更改

if(_EV_CAT == C)

if(_EV_CAT.equalsIgnoreCase(C))

用于比较字符串始终使用equalsIgnoreCaseequals因为==运算符比较两个对象引用以查看它们是否引用同一个实例