接口返回的json格式如下:
现在想要获取chapterList数组长度
{:   \"desc\":null,:   \"success\":true,:   \"code\":\"success\",:   \"data\"::   {:   :   \"courseId\":1,:   :   \"chapterList\"::   :   [:   :   :   {:   :   :   :   \"chapterId\":0,:   :   :   :   \"chapterName\":\"章节1\",:   :   :   :   \"lessonList\"::   :   :   :   [:   :   :   :   :   {:   :   :   :   :   :   \"lessonId\":1,:   :   :   :   :   :   \"lessonName\":\"课时1\",:   :   :   :   :   }:   :   :   :   ]:   :   :   },:   :   :   {:   :   :   :   \"chapterId\":1,:   :   :   :   \"chapterName\":\"章节2\",:   :   :   :   \"lessonList\"::   :   :   :   [:   :   :   :   :   {:   :   :   :   :   :   \"lessonId\":2,:   :   :   :   :   :   \"lessonName\":\"课时2\",:   :   :   :   :   }:   :   :   :   ]:   :   :   }:   :   ],:   }}
新增一个beanshell sampler,添加如下代码:
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;String jsonContent = prev.getResponseDataAsString();JSONObject response = JSON.parseObject(jsonContent);JSONArray dataList = response.getJSONObject(\"data\").getJSONArray(\"chapterList\");int length = dataList.size();vars.put(\"m_length\",length.toString());log.info(\"m_length=${m_length}\");
运行结果:
m_length=2
遗留问题:
如果想要知道chapterList下面的lessonList数组长度,该如何写呢?
解答:
for(int i=0;i<m_length;i++){JSONObject chapter = (JSONObject)dataList.getJSONObject(i);log.info(\"chapter---->\"+chapter.toString());JSONArray lessonList = chapter.getJSONArray(\"lessonList\");int llength = lessonList.size();//课时数log.info(\"llength==>\"+llength.toString());}
		
爱站程序员基地


