复杂json转换实体bean

来源:互联网 发布:淘宝直播中控台网址 编辑:程序博客网 时间:2024/05/01 18:15
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() */@Overridepublic 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() */@Overridepublic 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 {@Testpublic void convert() { // 字符串转为实体bean,遍历复杂jsonStringBuffer 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);}}


0 0
原创粉丝点击