package com.Models;
public class Adress {
private String city;
private String county;
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getCounty() {
return county;
}
public void setCounty(String county) {
this.county = county;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Adress [city=" + city + ", county=" + county + "]";
}
}
package com.Models;
import java.util.List;
public class Person {
private String name;
private List<Adress> adress;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Adress> getAdress() {
return adress;
}
public void setAdress(List<Adress> adress) {
this.adress = adress;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Person [name=" + name + ", adress=" + adress + "]";
}
}
package com.main;
import org.junit.Test;
import com.Models.Person;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class ConvertToBean {
@Test
public void convert() { // 字符串转为实体bean,遍历复杂json
StringBuffer result = new StringBuffer();
String personsStr = "[{'name':'newfound','adress':[{'city':'longjiang','county':'mudanjiang'},{'city':'hei','county':'ningan'}]},"
+ "{'name':'rachel','adress':[{'city':'hehe','county':'haha'},{'city':'xixi','county':'gaga'}]}]";
JSONArray persons = JSONArray.fromObject(personsStr);
for (int i = 0; i < persons.size(); i++) {// 人的集合
JSONObject person = (JSONObject) persons.get(i);
JSONArray adresses = (JSONArray) person.get("adress");
result.append("###############################\n");
result.append("#姓名:" + person.get("name") + "\n");
Person bean = (Person) JSONObject.toBean(person, Person.class);
System.out.println("\n\n #打印实体属性;" + bean.toString());
for (int j = 0; j < adresses.size(); j++) {// 地址的集合
JSONObject adress = (JSONObject) adresses.get(j);
result.append("##############地址###############\n");
result.append("#城市:" + adress.get("city") + "\n");
result.append("#城镇:" + adress.get("county") + "\n");
}
}
System.out.println(result);
}
}