JSONArrayを対応するオブジェクト配列に変換します。
1580 ワード
一つのjson配列の中に一つのオブジェクトだけの情報があると仮定して、オブジェクトに変換するのは簡単です。複数のオブジェクト情報を含むJSONArrayを一つのオブジェクトのListに変換することを考えます。
ここでは小さな例を使って過程を説明します。
まず私たちはピープルのクラスを作りました。
参照が必要なjarバッグはjson-lib-09.jar、jackson-mapper-asl-1.9.13.jar、jackson-core-asl-1.9.11.jarがあります。
ここでは小さな例を使って過程を説明します。
まず私たちはピープルのクラスを作りました。
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の情報を保存して、Object Mapperを使ってListオブジェクトにマッピングします。参照が必要なjarバッグはjson-lib-09.jar、jackson-mapper-asl-1.9.13.jar、jackson-core-asl-1.9.11.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