当前位置:编程学习 > JAVA >>

HashMap存取问题,急!

小菜请教各位一个问题:


现在有一组这样的数据存在list里(数据A)(通过SQL查询返回HashMap数据):
[{name=zhanghao,id=11,age=122},{name=lihua,id=233,age=90}.......]
有一个实体类People,对应的属性为上面数据的key,也就是
        private String age;
private String name;
private String id;
现在想通过转换得到一个存着数据A的实体List集合 插到数据库,应该如何操作?请大家帮忙了
HashMap List --------------------编程问答-------------------- 没太明白你的意思,是想把map中的键值对转换成为person对象存在list里面么?
如果是那样的话
List<People> pList = new ArrayList<People>;
for(int i=0 ; i<list.size() ; i++){
    People p = new People();
    p.setAge(list[i].get(age));
    p.setName(list[i].get(name));
    p.setId(list[i].get(id));
    pList.add(p);
}
我是菜鸟,写错了轻喷 --------------------编程问答-------------------- 迭代list拿到Map,迭代map拿到值往数据库对应的列上插啊。。 --------------------编程问答--------------------
引用 1 楼 maodechao_0418 的回复:
没太明白你的意思,是想把map中的键值对转换成为person对象存在list里面么?
如果是那样的话
List<People> pList = new ArrayList<People>;
for(int i=0 ; i<list.size() ; i++){
    People p = new People();
    p.setAge(list[i].get(age));
    p.setName(list[i].get(name));
    p.setId(list[i].get(id));
    pList.add(p);
}
我是菜鸟,写错了轻喷

意思就是你写的这样,但如果属性很多 如何不使用这种方式去做? --------------------编程问答--------------------
引用 2 楼 fudongrifdr 的回复:
迭代list拿到Map,迭代map拿到值往数据库对应的列上插啊。。

劳驾朋友写出代码。 --------------------编程问答-------------------- 此程序需引用如下jar包:
json-lib-2.3-jdk15.jar
ezmorph-1.0.6.jar
commons-collections.jar


程序代码如下:
package json;

import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
         
public class JsonUtil {      
    @SuppressWarnings({ "static-access", "rawtypes" })
public static void main(String[] args) {
     //标准json字符串必须为"[{key1:value1,key2:value2,...},{key1:value1,key2:value2,...}]形式
     String jsonString = "[{name:'zhanghao',id:'11',age:'122'},{name:'lihua',id:'233',age:'90'}]";
Class pojoCalss = People.class;//目标对象class对象
      JSONArray jsonArray = JSONArray.fromObject(jsonString);//从json字符串中获取表示对象的jsonobject数组 
      List<People> list = new ArrayList<People>();//保存结果的集合对象
      for(int index = 0; index<jsonArray.size();index++){
      JSONObject jsonObject = JSONObject.fromObject(jsonArray.get(index));//获取json数组
      list.add((People)jsonObject.toBean(jsonObject,pojoCalss)); //将jsonbject转成对象并添加到集合对象中
      }
      
      for(int index = 0; index<list.size(); index++){
      System.out.println(list.get(index).getAge());
      }
}
}
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,