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. Direct3D11学习:(五)演示程序框架

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 在此系列最开始的文章Direct3D11学习:(一)开发环境配置中,我们运行了一个例子BoxDemo,看过这个例 ...

  2. sitemesh学习笔记(1)

    最近在学习web开发的时候,发现很多的页面都存在同样的导航栏,登陆栏,js,jQuery等等相同的元素.这样就感觉开发变得好臃肿啊,并且,有时候改一个元素,就要把所有包含这个元素的页面全部重新码一遍, ...

  3. Angular系列----AngularJS入门教程00:引导程序(转载)

    我们现在开始准备编写AngularJS应用——phonecat.这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用. 进入angul ...

  4. MySQL扩展功能 - 重复插入

    replace into为什么不好?先删除,后插曲,删除时会全表扫描吗? 参考来自MySQL官方网络的文档: http://dev.mysql.com/doc/refman/5.0/en/replac ...

  5. C#关键字

    关键字 abstract as base bool break byte case catch char checked decimal default delegate continue doubl ...

  6. UnityShader快速上手指南(四)

    简介 由于其他项目中断了几天更新,继续~~ 这一篇主要是讲光照的(包含漫反射和高光以及多光源的处理) 还是先来看看具体效果(多光源后面单独展示) 有了基本的光照处理之后越来越有立体感了有不有 ╮(╯▽ ...

  7. 在SQL存储过程中给条件变量加上单引号

    在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) ), )), )+ ...

  8. Python基础:序列(列表、元组)

    一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...

  9. [PE结构分析] 7.相对虚拟地址(RVA)和文件偏移间的转换

    RVA是相对虚拟地址(Relative Virtual Address)的缩写.RVA是当PE 文件被装载到内存中后,某个数据位置相对于文件头的偏移量. 例如:导入表的位置和大小可以从PE文件头中IM ...

  10. jsp页面 列表 展示 ajax异步实现

    1. 服务端先返回页面基本结构(如message.jsp), <%@ page language="java" contentType="text/html; ch ...