Json转list,二层解析转换

Json转list,二层解析转换,第1张

Json转list,二层解析转换

一层结构的数据:

{
"code": "0",
"results": {
"boyTotal": 0,
"classNumber": 0,
"enrollmentsTotal": 0,
"girlTotal": 0,
"mobile": "15969538305",
"studentTotal": 0,
"userCode": "141920370",
"userName": "杜文兵",
"userType": "1"
}
}

二层结构的数据:

{
"code": "0",
"results": {
"arrayList": [
{
"boyNumber": 61,
"classId": "159",
"className": "17建筑工程技术01",
"deptName": "建筑工程学院",
"enrollments": 61,
"girlNumber": 0,
"majorName": "建筑工程技术",
"studentNumber": 61,
"year": "2017"
},
{
"boyNumber": 55,
"classId": "208",
"className": "17建筑工程技术02",
"deptName": "建筑工程学院",
"enrollments": 56,
"girlNumber": 1,
"majorName": "建筑工程技术",
"studentNumber": 56,
"year": "2017"
},
{
"boyNumber": 56,
"classId": "209",
"className": "17建筑工程技术03",
"deptName": "建筑工程学院",
"enrollments": 56,
"girlNumber": 0,
"majorName": "建筑工程技术",
"studentNumber": 56,
"year": "2017"
},
{
"boyNumber": 4,
"classId": "237",
"className": "17学前教育08",
"deptName": "人文学院",
"enrollments": 67,
"girlNumber": 63,
"majorName": "学前教育",
"studentNumber": 67,
"year": "2017"
},
{
"boyNumber": 4,
"classId": "238",
"className": "17学前教育09",
"deptName": "人文学院",
"enrollments": 67,
"girlNumber": 63,
"majorName": "学前教育",
"studentNumber": 67,
"year": "2017"
},
{
"boyNumber": 5,
"classId": "239",
"className": "17学前教育10",
"deptName": "人文学院",
"enrollments": 67,
"girlNumber": 62,
"majorName": "学前教育",
"studentNumber": 67,
"year": "2017"
}
],
"boyTotal": 185,
"classNumber": 6,
"enrollmentsTotal": 374,
"girlTotal": 189,
"studentTotal": 374,
"userCode": "131530220"
}
}

先上代码:

    JSONObject  obj1  = new JSONObject();
obj1.put("mobile", "13008662173");
//查询员工编号 JSONObject userInfo = ToolsWebReq.sendPost(ToolsWebReq.TEACHER_SERVER_BASE_URL + ToolsWebReq.API_QUERYUSERID,obj1); List<UserInfo> userInfos = (List<UserInfo>) JsonUtils.JsonToList(userInfo.get("results"), new UserInfo()); String userCode = "";
if(userInfos != null ){
for (int i = 0; i < userInfos.size(); i++) {
UserInfo user = userInfos.get(i);
userCode = user.getUserCode();
} }
System.out.println("userCode="+userCode); //通过员工编号查询班级数
List<ClassTeacherE> list2 = null; JSONObject obj = new JSONObject();
obj.put("userCode", "131530220"); JSONObject classList = ToolsWebReq.sendPost(ToolsWebReq.TEACHER_SERVER_BASE_URL + ToolsWebReq.API_QUERYCLASSNUM,obj);
//解析第一层
JSONObject rs = (JSONObject) classList.get("results");
//解析第二层
JSONArray arrayList = (JSONArray) rs.get("arrayList"); List<UserClassInfo> classLists = (List<UserClassInfo>) JsonUtils.JsonToList(rs.get("arrayList"), new UserClassInfo()); System.out.println("classLists.get(0).getClassName()="+classLists.get(0).getClassName());

方法:

package com.xy.common.util;

import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig; public class JsonUtils { /**
* json转对象
*
* @param input
* @return
*/
public static List<?> JsonToList(Object object,Object classModel) { JSONArray array = JSONArray.fromObject(object); List<?> list2 = net.sf.json.JSONArray.toList(array,classModel, new JsonConfig());//参数1为要转换的JSONArray数据,参数2为要转换的目标数据,即List盛装的数据 return list2;
}
}

对象:

package com.xy.web.entity;

import java.util.Date;
import javax.persistence.*; public class UserInfo { private String boyTotal; private String classNumber; private String enrollmentsTotal; private String girlTotal; /**
* 联系电话
*/
private String mobile; private String studentTotal; /**
* 用户账号
*/
private String userCode; /**
* userName
*/
private String userName; /**
* 用户类型(userType):1-员工,2-学生
*/
private String userType; public String getBoyTotal() {
return boyTotal;
} public void setBoyTotal(String boyTotal) {
this.boyTotal = boyTotal;
} public String getClassNumber() {
return classNumber;
} public void setClassNumber(String classNumber) {
this.classNumber = classNumber;
} public String getEnrollmentsTotal() {
return enrollmentsTotal;
} public void setEnrollmentsTotal(String enrollmentsTotal) {
this.enrollmentsTotal = enrollmentsTotal;
} public String getGirlTotal() {
return girlTotal;
} public void setGirlTotal(String girlTotal) {
this.girlTotal = girlTotal;
} public String getMobile() {
return mobile;
} public void setMobile(String mobile) {
this.mobile = mobile;
} public String getStudentTotal() {
return studentTotal;
} public void setStudentTotal(String studentTotal) {
this.studentTotal = studentTotal;
} public String getUserCode() {
return userCode;
} public void setUserCode(String userCode) {
this.userCode = userCode;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getUserType() {
return userType;
} public void setUserType(String userType) {
this.userType = userType;
}; }

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/586345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存