从数据库中得到的数据list转换成json,如果list对象中字段类型是Date,出现的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从数据库中得到的数据list转换成json,如果list对象中字段类型是Date,出现的问题相关的知识,希望对你有一定的参考价值。
从数据库中取到全部employee员工对象
employee对象中有一个字段生日是date类型,有一个是department部门(自定义的bean)。
要将后台的list转换成json传到前台。
List<employee> list=employeeDao.getEmpList();
JSONArray ja = JSONArray.fromObject(list);
department字段就变成"deparment":"did":1,"dname":"s1","employees":[]。
生日就变成这样
"hridate:"date":18,"day":4,"hours":16,"minutes":9,"month":8,"nanos":0,"seconds":3,"time":1411027743000,"timezoneOffset":-480,"year":114,
怎样实现 department部门 取 部门名字,生日 取年月日,转化成json,传到前台
你好,提问者:
解决日期取年月日两种办法:
一种是在sql查询数据库的时候就把日期的格式转换好;
DATE_FORMAT(start_time,'%Y-%m-%d') starttime一种方法是在你获取数据的时候转换
SimpleDateFormat sdm = new java.text.SimpleDateFormat("yyyy-MM-dd");你这样吧,数据取出来后,用StringBuilder 拼一个json 传到前台去吧!
给你个例子:
StringBuilder jsonStrAll = new StringBuilder("["); //定义一个StringBuilderfor(employee c : list)//循环你的list
jsonStrAll.append(""+ "\\""+"catid"+"\\""+":"+"\\""+c.getCatid()+"\\""+","+"\\""+"catname"+"\\""+":"+"\\""+c.getCatname()+",isLeaf:true,expanded:false,"+"loaded:true,"); //把你要拼接的字段放进去
String str = jsonStrAll.substring(0, jsonStrAll.length()-1); //把最后的,(逗号)截取掉
if(!"".equals(str))
str = str+"]"; //加上结尾,json就拼接完了
//最后return str ; 就可以了! 参考技术A 在你的DTO(部门)中重写ToString,在ToString中转换日期,重写数据,通过泛型到集合数据就可以实现对日期类型的转化了。
Json格式的数据怎么转换成List
JSONObject.toBeanString list = request.getParameter("json");
JSONArray data = JSONArray.fromObject(list);
for(int i=0;i<data.size();i++)
JSONObject jobj = (JSONObject) data.get(i);
String name = jobj.get("name");
以上代码就是从json数组装换的。 参考技术A JSONObject.toBean
String list = request.getParameter("json");
JSONArray data = JSONArray.fromObject(list);
for(int i=0;i<data.size();i++)
JSONObject jobj = (JSONObject) data.get(i);
String name = jobj.get("name");
以上代码就是从json数组装换的。
以上是关于从数据库中得到的数据list转换成json,如果list对象中字段类型是Date,出现的问题的主要内容,如果未能解决你的问题,请参考以下文章
怎样将JAVA中得list集合转换为javascript的二维数组?