将JSONArray转换为对应的对象数组

假设一个json数组中只有一个对象的信息,将其转换为对象很简单。现在我们考虑将一个包含多个对象信息的JSONArray转换为一个对象的List

在这里我们用个小例子说明一下过程。

首先我们建立了一个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对象

需要引用的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 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 = objm.getTypeFactory().constructParametricType(List.class, People.class);
		try {
			device=(List)objm.readValue(pjson.toString(),javaType);
		} catch (Exception e) {
			e.printStackTrace();
		}
		for(int i=0;i


你可能感兴趣的:(java)