将JSONArray转换为对应的对象数组
假设⼀个json数组中只有⼀个对象的信息,将其转换为对象很简单。现在我们考虑将⼀个包含多个对象信息的JSONArray转换为⼀个对象的List<Object>。在这⾥我们⽤个⼩例⼦说明⼀下过程。
⾸先我们建⽴了⼀个People的类
public class People {
private String name;
private Integer age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
然后我们新建⼀个JSONArray存放多个People的信息,然后使⽤ObjectMapper将其映射到List<People>对象
需要引⽤的jar包有json-lib-0.9.jar,jackson-mapper-asl-1.9.13.jar,jackson-core-asl-1.9.13.jar.
public static void main(String[] args) {
List<People> device=null;
JSONArray pjson=new JSONArray();
JSONObject cjson1=new JSONObject();
cjson1.put("name", "⼩⽪");
cjson1.put("sex", "男");
cjson1.put("age", 23);
JSONObject cjson2=new JSONObject();
cjson2.put("name", "教主");
cjson2.put("sex", "男");
cjson2.put("age", 25);
pjson.put(cjson1);
pjson.put(cjson2);
ObjectMapper objm = new ObjectMapper();
JavaType javaType = TypeFactory().constructParametricType(List.class, People.class);
try {
json转换对象
device=(List<People>)String(),javaType);
} catch (Exception e) {
e.printStackTrace();
}
for(int i=0;i<device.size();i++){
System.out.println("姓名:"+(i).getName()+",性别:"+(i).getSex()+",年龄:"+(i).getAge()); }
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论