程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> springMVC json自動將date類型轉換為long,springmvcjson

springMVC json自動將date類型轉換為long,springmvcjson

編輯:JAVA綜合教程

springMVC json自動將date類型轉換為long,springmvcjson


  今天早上遇到了一個奇怪得問題,直接給後台發送請求返回得頁面信息中顯示時間是正常得,如:2016-03-17 15:42:11.0,但是通過AJAX獲取得信息中顯示得時間竟然是時間戳。

  我首先檢查後台傳回來得集合中時間類型是不是就是時間戳,結果打上斷點發現集合中顯示得時間也是正常得,我按F8跳過之後,查看浏覽器傳送回來得JSON相應居然是時間戳,我不信,於是反反復復了好幾遍,確實是集合顯示正常,一響應到前台就成時間戳了,於是我baidu了,給出得方案都是在實體的時間get方法上加上json注解(@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")),但是我不能用啊,因為目前這個產品沒有用ROM框架,也就是沒有實體這一說啊,郁悶之後於是自己想辦法格式化一下得,看看好使不。

private List<Map<String,Object>> formatDate(List<Map<String,Object>> list){
        
        List<Map<String,Object>> l = new ArrayList<Map<String,Object>>();
        for (Map<String, Object> map : list) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if(map.get("add_time")!=null){
                String add_time = map.get("add_time").toString();
                try {
                    Date date = sdf.parse(add_time);
                    map.put("add_time", sdf.format(date));
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            }
            l.add(map);
        }
        return l;
    }

^_^,格式完之後果然不轉換了,我仔細檢查之後才發現,原來集合中得時間時分秒之後還有毫秒15:42:11.0,把毫秒給格式化掉JSON就不會將時間自動轉換為時間戳了。

到此問題順利解決!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved