问题描述
- 解析过后的json取值问题
-
解析过后的json,在循环取值的时候报错,用JSONArray jsonArrayIn = jsonArray.getJSONArray(i)时候报JSONArray[33] is not a JSONArray,,我试着用JSONObject jons = jsonArray.getJSONObject(i);又说却
JSONArray[33] is not a JSONObject,,此刻我凌乱了,求指导
解决方案
if(jsonArray!=null){
for(int i=0;i<jsonArray.size();i++){
JSONObject jsonObject = null;
if(jsonArray.get(i) instanceof JSONArray){
JSONArray jsonSubArr = (JSONArray)jsonArray.get(i);
}
}
}
解决方案二:
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));
}
}
}
时间: 2024-12-28 11:27:22