将json数据转为自己的实体model
要转化,首先要明白自己拿到的json是什么格式,想要转换为什么格式
json中 map(以{}包着)就是一个对象,list(以[]包着)就是一个数组
看清楚自己的json数据结构是否和如下的一致,一致方法才能用
第一种json格式,json数据是一个Map,将Map中某个值中的数据转化为model
// json map格式 把testStuData1转化为List<Student>格式
{
"testStuData1": [
{
"name":"张三",
"age":"22",
"score": [
{
"math": "77",
"english": "67"
}
]
},
{
"name":"李四",
"age":"21",
"score": [
{
"math": "57",
"english": "97"
}
]
}
]
}
//Student实体类 必须和json中要转化 字段名一一对应,类型也必须对应
public class Student{
private String name;
private String age;
private List<String> score;
}
//转化代码 stuList就会拿取到跟json中对应的数据
try{
ObjectMapper objectMapper = new ObjectMapper();
List<Student> stuList= JSONArray.parseArray(JSONArray.toJSONString(map.get("testStuData1")), Student.class);
}catch (Exception e) {
}
第二种json格式,json数据是一个 List ,整个List转化为model
// json list格式 把整个json数据转化为List<Student>格式
[
{
"name":"张三",
"age":"22",
"score": [
{
"math": "77",
"english": "67"
}
]
},
{
"name":"李四",
"age":"21",
"score": [
{
"math": "57",
"english": "97"
}
]
}
]
//Student实体类 必须和json中要转化 字段名一一对应,类型也必须对应
public class Student{
private String name;
private String age;
private List<String> score;
}
//转化代码 stuList就会拿取到跟json中对应的数据
try{
ObjectMapper objectMapper = new ObjectMapper();
List list = objectMapper.readValue(dataJson, List.class);
List<Student> stuList=JSONObject.parseArray(JSONArray.toJSONString(list), Student.class);
}catch (Exception e) {
}