开发者社区 问答 正文

解析过后的json取值问题

解析过后的json,在循环取值的时候报错,用JSONArray jsonArrayIn = jsonArray.getJSONArray(i)时候报JSONArray[33] is not a JSONArray,

,我试着用JSONObject jons = jsonArray.getJSONObject(i);又说却
JSONArray[33] is not a JSONObject,,此刻我凌乱了,求指导

展开
收起
杨冬芳 2016-07-04 17:06:19 2135 分享 版权
1 条回答
写回答
取消 提交回答
  • IT从业

    json串比如:{"id1":"1","list":["l1","l2",["lk1","lk2"]]}

    代码可以如下

     JSONObject jsonRtn =JSONObject.fromObject(jsonstr);//jsonstr为json串
            JSONArray jsonListArray = jsonRtn.getJSONArray(NetEnum.JsonField.list);
            if(jsonListArray!=null){
                for(int i=0;i<jsonListArray.size();i++){
                    if(jsonListArray.get(i) instanceof JSONArray){
                        JSONArray jsubArray = (JSONArray)jsonListArray.get(i);
                        for(int k=0;k<jsubArray.size();k++){
                            System.out.println(jsubArray.get(k));
                        }
                    }else if(jsonListArray.get(i) instanceof JSONObject){
    
                    }else{
                        System.out.println(jsonListArray.get(i));
                    }
                }
            }
    2019-07-17 19:50:55
    赞同 展开评论