javabean转换为json字符串
假如有个javabean:
其中的如期类型是java.sql.Date,可能有人会说将javabean中的日期定义成java.util.date类型,在生成javabean时将resultSet中的sql类型转换为java.util.date类型就行了,如果说数据少这样做没有问题。
现在我写了这么个工具类,作用是将resultset中的数据解析生成一个list,而忽略具体类型,经过测试该方法可行:
public class Home {
private String service_name;
private String type_name;
private String author_name;
private String content_desc;
private String img_url;
private String wap_url;
private Date create_time;
//省略get、set
}其中的如期类型是java.sql.Date,可能有人会说将javabean中的日期定义成java.util.date类型,在生成javabean时将resultSet中的sql类型转换为java.util.date类型就行了,如果说数据少这样做没有问题。
现在我写了这么个工具类,作用是将resultset中的数据解析生成一个list,而忽略具体类型,经过测试该方法可行:
public List<E> getList(ResultSet rs,Class e){
List<E> list = new ArrayList<E>();
try {
while(rs.next()){
E obj =(E) e.newInstance();
Field[] field = obj.getClass().getDeclaredFields();
//将属性按照字母顺序排序
int length = field.length;
//1、将对象属性包装成map
Map<String, Field> map = new HashMap<String, Field>();
for(int i = 0;i<length;i++){
map.put(field[i].getName(), field[i]);
}
//2、对属性值进行排序
String [] a = new String[length];
for(int i = 0;i<length;i++){
a[i]=field[i].getName();
}
Arrays.sort(a);
//3、对对象数组进行排序
for(int i = 0;i<length;i++){
field[i] = map.get(a[i]);
}
//将列名按照字母顺序排序
int columnCount =rs.getMetaData().getColumnCount();
String[] rsName = new String[columnCount];
for(int i = 0;i<columnCount;i++){
rsName[i] = rs.getMetaData().getColumnName(i+1);
}
Arrays.sort(rsName);
for(int i = 0;i<field.length;i++){
field[i].setAccessible(true);
field[i].set(obj, rs.getObject(rsName[i]));
}
list.add(obj);
}
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return list;
}于是json = JSONObject.fromObject(readlist.get(i))异常了,有什么办法让json能够直接处理java.sql.date的数据吗?求解答
...全文
相关推荐
FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换操作
主要介绍了FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换,非常不错,具有参考借鉴价值,需要的朋友可以参考下
JavaBean与Json相互转换
将JavaBean对象与Json字符串相互转换,将Java集合与Json字符串集合相互转换。
Json一键转Javabean工具
资源包内含有说明和效果图 只需要将Json字符串复制到工具内,一键转换为对应实体类(javabean类)。 非常好用,为程序员节省了很多时间。
首字母大写的json串转为javabean实例
首字母大写的json串转为javabean实例,
json转换插件
通过该工具可以将javascript提交的json字符串,转换成JSON对象,再进一步转换成Javabean对象或集合,反之亦然,大大简化了编码的难度


