list集合转为json,前台ajax获取时间数据并格式化

1。从数据库中取得list集合数据后,转为json,前台ajax想要获取其中时间数据时,格式经常为

"time":{"date":26,"day":3,"hours":11,"minutes":30,"month":3,"nanos":0,"seconds":49,"time":1493177449000,"timezoneOffset":-480,"year":117}

2。前台格式化数据太麻烦,最好的办法就是把时间格式化好后再进行转化json,前台直接取值
后台代码:

(直接从集合转化开始)

//数据库中取得的数据集合,其中包含date字段
List<plVo> listDB = pinglun.selectVoById(id);
//声明时间格式化
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//new一个新的集合,来存放格式化的时间数据
List<String> ltDate = new ArrayList<String>();
//遍历数据集合取得时间字段加到新集合中
for (plVO vo : listDB) {
    vo.add(simple.format(plVO.getPlsj()).toString());
}

3。现存在数据集合listDB,已经格式化好的时间集合ltDate。
把两个集合转为json,发送前台

JSONArray json = new JSONArray();
String sDB = json.fromObject(listDB).toString();
String sTime = json.fromObject(ltDate).toString();
//拼json字符串(妈啊,每次拼写json字符串,都要死的赶脚)
String s = "{"+"\"sTime\""+":"+sTime+","+"\"sDB\""+":"+""+sDB+"}";
//发送前台
PrintWriter out = resp.getWriter();
out.print(s);

4。前台ajax解析

$.ajax({
    type:"post",
    url:'你的URL',
    success:function(data){
        //解析data
        var c = eval('('+data+')');
        //先取第一个看看--正常
        alert(c['sTime'][0]);
        //遍历数据集合
        for ( var i = 0; i < c["sDB"].length; i++) {
            //id字段对应的date字段
            alert(c['sDB'].[i].[id]+c['sTime'].[i]);
        }
    }
});

搞定

不用ajax页面单纯获取可使用标签进行格式化

<fmt:formatDate value="${jihe.scsj}" type="date" dateStyle="medium"/>
具体格式样式,可上网查询

猜你喜欢

转载自blog.csdn.net/zk_1325572803/article/details/70792898