首页 / JSON / json数组和List转换
json数组和List转换
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了json数组和List转换,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4413字,纯文字阅读大概需要7分钟。
内容图文
package hb; import java.util.Date; public class Person { String id; int age; String name; Date birthday; public String getId() { return id; } public void setId(String id) { this.id = id; } publicint getAge() { return age; } publicvoid setAge(int age) { this.age = age; } public String getName() { return name; } publicvoid setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } publicvoid setBirthday(Date birthday) { this.birthday = birthday; } }
package hb; import java.util.Iterator; import java.util.List; import org.junit.Test; import net.sf.json.JSONArray; import net.sf.json.JsonConfig; public class JsonToList { public static void main(String[] args) { String json="[{‘name‘:‘huangbiao‘,‘age‘:15},{‘name‘:‘liumei‘,‘age‘:14}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); List list = (List)JSONArray.toCollection(jsonarray, Person.class); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } @Test publicvoid jsonToList1(){ String json="[{‘name‘:‘huangbiao‘,‘age‘:15},{‘name‘:‘liumei‘,‘age‘:14}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); List list = (List)JSONArray.toList(jsonarray, Person.class); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } @Test publicvoid jsonToList2(){ String json="[{‘name‘:‘huangbiao‘,‘age‘:15},{‘name‘:‘liumei‘,‘age‘:14}]"; JSONArray jsonarray = JSONArray.fromObject(json); System.out.println(jsonarray); System.out.println("------------"); List list = (List)JSONArray.toList(jsonarray, new Person(), new JsonConfig()); Iterator it = list.iterator(); while(it.hasNext()){ Person p = (Person)it.next(); System.out.println(p.getAge()); } } }
package hb; import java.util.LinkedList; import java.util.List; import net.sf.json.JSONArray; public class ListToJson { public static void main(String[] args) { List list = new LinkedList(); for(int i=0;i<3;i++){ Person p = new Person(); p.setAge(i); p.setName("name"+i); list.add(p); } JSONArray jsonarray = JSONArray.fromObject(list); System.out.println(jsonarray); } }
[{"age":0,"birthday":null,"id":"","name":"name0"},{"age":1,"birthday":null,"id":"","name":"name1"},{"age":2,"birthday":null,"id":"","name":"name2"}]
使用的是json-lib.jar包
将json格式的字符数组转为List对象
转载自:http://hbiao68.iteye.com/blog/1771155
另外自己项目中使用hibernate 查询出来的是List<HashMap>,
转换过程 List<HashMap>----->JSONArray---->List<业务对象> 如果是联合查询,则这个业务对象需要加入新的成员变量,
如果加入了并不希望有数据库字段映射,就在属性上加上 @Transient
public class PaymentReq implements Serializable { privatestaticfinallong serialVersionUID = -1515222020971048819L; // u.userId,u.userName,u.openId,u.sex,u.phone,u.userPaymentMoney,pr.paymentReqId,pr.addTime @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long paymentReqId; private String addTime; private Long userId; @Transient private String userName; @Transient private String openId; @Transient private String sex; @Transient private String phone; @Transient private String userPaymentMoney;
public List<HashMap> findAllPaymentReqByUserId(Long userId){ Session session = sessionFactory.getCurrentSession(); StringBuffer sql=new StringBuffer("select u.userId,u.userName,u.openId,u.sex,u.phone,u.userPaymentMoney,pr.paymentReqId,pr.addTime "); sql.append("from user u,paymentreq pr "); sql.append("where u.userId=pr.userId "); sql.append("and u.userPaymentMoney>‘0‘ "); sql.append("order by pr.addTime asc"); Query query = session.createSQLQuery(sql.toString()).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); List<HashMap> list = query.list(); return list; }
@Test public void testfindAllPaymentReqByUserId(){ List<HashMap> list=paymentReqService.findAllPaymentReqByUserId(1L); JSONArray jsonArray=JSONArray.fromObject(list);List list_ = (List)JSONArray.toCollection(jsonArray, PaymentReq.class);for(int i=0;i<list_.size();i++){ PaymentReq pr=(PaymentReq)list_.get(i); System.out.println(pr); } }
// 打印结果 PaymentReq [paymentReqId=1, addTime=2014-11-15 19:27:23, userId=1, userName=text, openId=1, sex=0, phone=18681883016, userPaymentMoney=2.01] PaymentReq [paymentReqId=2, addTime=2014-11-15 19:27:23, userId=2, userName=text, openId=null, sex=0, phone=18681883015, userPaymentMoney=10]
原文:http://www.cnblogs.com/qq-757617012/p/4100151.html
内容总结
以上是互联网集市为您收集整理的json数组和List转换全部内容,希望文章能够帮你解决json数组和List转换所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。