1. 程式人生 > >list集合轉為json,前臺ajax獲取時間資料並格式化

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"/>
具體格式樣式,可上網查詢