接口返回的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());}