返回格式:result
{
"code":"200",
"data":{
"pageno":"1",
"pagesize":"10",
"total":391,
"list":[
{
"name":"abc",
"age":"12"
},
{
"name":"abc",
"age":"12"
}
]
}
}
JSONObiect jsonObject=JSONUtil.parseObject(result);
判断状态之后拿不到里面的data数组
JSONArray data=JSONUtil.parseArray(jsonObject.get("data"));
如果拿里面的list的话拿到的是空的集合,麻烦看一下我是不是哪里写的有问题呀
public void djceshi() {
int pageNo = 1;
int pageSize = 10;
String url = ip + "/common/programs/ProgramInfosPage?appId=" + appId + "&pageNo=" + pageNo + "&pageSize=" + pageSize ;
System.out.println(url);
String result = HttpUtil.createGet(url).execute().charset("utf-8").body();
JSONObject jsonObject = JSONUtil.parseObj(result);
Object code = jsonObject.get("code");
if ("200".equals(code)){
JSONArray data = JSONUtil.parseArray(jsonObject.get("data"));
System.out.println("data="+data);
List<DjCeshi> DjCeshiList = JSONUtil.toList(data, DjCeshi.class);
}
}
data有不是数组,你偏要用parseArray去解析,能解析出来才有鬼;
list在 data 下的 list里面,直接取list能拿到也才有鬼;
另外 “ 看下是不是哪里写的有问题 ” 你得代码贴出来啊,list怎么拿的都看不到
首先你这个Json有很多不对地方不知道是不是复制的原因
调整了下格式
{
"code":"200",
"data":{
"pageno":"1",
"pagesize":"10",
"list":[
{
"name":"abc",
"age":"12"
},
{
"name":"abc",
"age":"12"
}
]
}
}
其次data就是一个Json对象不用数组
获取方式:
JSONObject jsonObject = JSON.parseObject(res);
JSONObject data = (JSONObject) jsonObject.get("data");
Object list = data.get("list");