{"errcode":0,"result":[{"check_date_time":"2021-08-27 17:57:30","check_status":"Checked","check_type":"OnDuty","corp_id":"ding7c748955d913770335c2f4657eb6378f","gmt_create":"2021-08-27 17:57:31","gmt_modified":"2021-08-27 17:57:31","group_id":-1,"id":235069117132,"is_rest":"N","real_plan_time":"2021-08-27 17:57:30","user_id":"242157225634238654","work_date":"2021-08-27 00:00:00"}],"success":true,"request_id":"8kus66o51zb2"}
之前的
{"errcode":0,"result":{"approve_list":[],"attendance_result_list":[{"check_type":"OffDuty","class_id":214655132,"group_id":240975087,"location_method":"ATM","location_result":"Normal","plan_check_time":"2021-07-14 17:00:00","plan_id":217863022888,"record_id":67835293281,"source_type":"ATM","time_result":"Normal","user_address":"前台","user_check_time":"2021-07-14 17:15:35"},{"check_type":"OnDuty","class_id":214655132,"group_id":240975087,"location_method":"ATM","location_result":"Normal","plan_check_time":"2021-07-14 08:00:00","plan_id":217863022887,"record_id":67956355229,"source_type":"ATM","time_result":"Normal","user_address":"前台","user_check_time":"2021-07-14 07:58:52"}],"check_record_list":[{"record_id":67835293281,"source_type":"ATM","user_check_time":"2021-07-14 17:15:35","valid_matched":true},{"record_id":67956355229,"source_type":"ATM","user_check_time":"2021-07-14 07:58:52","valid_matched":true}],"class_setting_info":{"rest_time_vo_list":[{"rest_begin_time":14400000,"rest_end_time":18000000}]},"corpId":"ding7c748955d913770335c2f4657eb6378f","userid":"51191","work_date":"2021-07-14 09:00:00"},"success":true,"request_id":"10hbita0g2902"}
然后用了两种办法,一种因为缺少Object名导致不知道怎么单独建list,从而无法反序列化。第二种直接创建LIST导致无法正常CAST
public class ToResultDTO {
private Integer errcode;
private ArrayList<Item> result;
private String success;
private String request_id;
static class Item{
private String check_date_time;
private String check_status;
private String check_type;
private String corp_id;
private String gmt_create;
private String gmt_modified;
private String group_id;
private String id;
private String is_rest;
private String real_plan_time;
private String user_id;
private String work_date;
}
}
ObjectMapper,直接给你解析成对象,你可以为所欲为
JSONArray
之前的Json字符串定义的实体类:
public class JsonData {
public int errcode;
public Result result;
public boolean success;
public String request_id;
}
class Result{
public List<String> approve_list;
public List<Attendance> attendance_result_list;
public List<Check> check_record_list;
public List<Setting> class_setting_info;
public String corpId;
public String userid;
public String work_date;
}
class Attendance{
public String check_type;
public long class_id;
public long group_id;
public String location_method;
public String location_result;
public String plan_check_time;
public long plan_id;
public long record_id;
public String source_type;
public String time_result;
public String user_address;
public String user_check_time;
}
class Check{
public long record_id;
public String source_type;
public String user_check_time;
public boolean valid_matched;
}
class Setting{
public List<Rest> rest_time_vo_list;
}
class Rest{
public long rest_begin_time;
public long rest_end_time;
}
使用阿里巴巴FastJSON,想怎么转怎么转,跟springboot 没半毛钱关系