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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void 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
public void 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
public void 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 {
private static final long 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]

json数组和List转换的更多相关文章

  1. JSON数组不用字符串转换的写法

    var organization = []; //机构组织 //初始化用户数据列表中用户机构列的数据源 admin.ajax("GetOrganizationInfo", null ...

  2. (精华)将json数组和对象转换成List和Map(小龙哥和牛徳鹤的对话)

    将java标准的数据结构ArrayList和HashMap转换成json对象和数组很简单 只需要JSONArray.fromObject(obj);或者JSONObject.fromObject(ob ...

  3. 合法的json数组字符串,转换json

    List list = JSON.parseArray("[{'id':1,'name':'a'},{'id':2,'name','b'}]", JSONObject.class) ...

  4. 字符串集合或字符串数组转换成json数组

    字符串可以是List<String>类型的字符串集合,也可以是String[]类型的字符串数组,二者转换成JSON数组的方式没有什么不同.下面代码注意关键的部分即可(画红线部分). 1. ...

  5. json 数组 对象 xml 之间转换(待补充)

    json 数组  xml 对象   之间转换(待补充) 1 把对象的类型或者数组转换成字符串类型(或者更确切的说是json类型的). 此处参考链接http://www.jb51.net/article ...

  6. 一个Json、数组、Dictionary转换和数组对比的C#实例

    最近做了一个程序,里面一段代码用到Json.数组.Dictionary转换和数组对比的一些知识,虽然在实际碰到类似问题时候有更好的方法,但这就当是一次基础知识的回顾,现在分享一下. 先介绍下要实现的业 ...

  7. 做筛选遍历时遇到的json字符串、json对象、json数组 三者之间的转换问题

    这个是后台对登录用户以及筛选条件的操作 @Override public List<SdSdPer> listResults(String sidx, String sord) { try ...

  8. List和json数组的转换(赋源代码)

    public class a11111111 { //参数obj可以是 json对象,字符串, list public static void fun(Object obj){ JSONArray d ...

  9. Js前端传递json数组至服务器端并解析的实现。

    最近做的一个小项目中需要将json数组数据传递到服务器端进行保存,现分享一下解决思路. 环境:EasyUi+Mvc 4.0 如下: 在上述截图中的红色圈起来的部分,需要在点击保存后通过一次ajax请求 ...

随机推荐

  1. [前端]npm安装慢,换用淘宝的镜像

    镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在): 通过config命令 npm config set registry https://registry ...

  2. 操作ACCESS数据库注意事项

    以下问题都是容易忽略,但却不容易找出问题的所在,让我头疼不少,故在此列出,即是一个总结,同样也给其他人参与! 1.使用参数形式执行SQL命令时,参数数组需与在SQL语句中参数名出现的位置及名称必须完全 ...

  3. ThroughRain第一次冲刺个人总结

    团队名:ThroughRain 项目确定:<餐厅到店点餐系统> 项目背景:本次项目是专门为餐厅开发的一套订餐系统.大家有没有发现在节假日去餐厅吃饭会超级麻烦,人很多, 热门的餐厅基本没有座 ...

  4. eclipse中去掉Js/javsscript报错信息

    1.首先在problem>errors中删除所有js错误: 如下图 2.然后再勾选掉javascript Validator: 3.clean下项目吧,你会发现再也不出现js红叉叉了,哈哈.

  5. 移动端前端常见的触摸相关事件touch、tap、swipe等整理

    前端的很多事件在PC端和浏览器端可公用,但有些事件却只在移动端产生,如触摸相关的事件 本文整理了移动端常见的一些事件,包括原生支持的click.touch.tap.swipe事件,也有定义型的gest ...

  6. AC自动机 - 关于Fail指针

    fail指针可以说是AC自动机里最难理解的东西,怎样更好的理解AC自动机的fail指针? 先来看一幅图: 看这幅图上的fail指针是怎么构造的. 树上的词分别是: { he , hers , his ...

  7. ExtJs4 笔记(4) Ext.XTemplate 模板

    ExtJs4 笔记(4) Ext.XTemplate 模板 摘自:http://www.cnblogs.com/lipan/ 本篇将涉及到ExtJs中一个重要的概念,模板.话说Razor很神奇,但是我 ...

  8. 【jQuery基础学习】05 jQuery与Ajax以及序列化

    好吧,这章不像上章那么水了,总是炒剩饭也不好. 关于AJAX 所谓Ajax,全名Asynchronous JavaScript and XML.(也就异步的JS和XML) 简单点来讲就是不刷新页面来发 ...

  9. 自己动手搞定支付宝手机网站支付接口 FOR ECShop

    支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语. 主要是得自己查看支付宝官方提供的SDK中的开发文档. 支付宝sdk下载地址:https://doc.open.alipay ...

  10. UGUI之Toggle使用

    Toggle对象是一个开关.一般用于单选,可以用Toggle制作背包的选项卡 在场景中创建Toggle按钮.看看他有Toggle组件