亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java將Date日期類型字段轉換成json字符串的方法

瀏覽:63日期:2022-08-17 09:39:20

想必我們在做項目的時候,都會遇到服務端與客戶端交互數據。一般情況下我們都會采用json格式或者xml格式,將服務端的數據轉換成這兩種格式之一。

但是,如果我們將數據轉換成json格式的時候,我們也許會遇到Date日期型的數據轉換成json格式后,并不是我們想要的格式。下面我們通過簡單的demo

來說明這個問題。

我們按照一般json格式生成,會出現以下問題:

采用json:將數據生成json格式,需要導入相應的jar包,如下圖:

Java將Date日期類型字段轉換成json字符串的方法

Student.java

package com.xbmu.bean; import java.io.Serializable;import java.util.Date;public class Student implements Serializable {private String username;private Date birthday;public Student() {super();// TODO Auto-generated constructor stub}public Student(String username, Date birthday) {super();this.username = username;this.birthday = birthday;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}@Overridepublic String toString() {return 'Student [username=' + username + ', birthday=' + birthday + ']';}}

TestDateValueToJson.java

package com.xbmu.test; import java.util.ArrayList;import java.util.Date;import java.util.List;import net.sf.json.JSONArray;import com.xbmu.bean.Student;public class TestDateValueToJson {public static void main(String[] args) {/** * 創建三個student對象,并將對象添加到List集合中 * * */List<Student> list = new ArrayList<Student>();Student student = new Student('張三', new Date());list.add(student);student = new Student('李四',new Date());list.add(student);student = new Student('王五',new Date());list.add(student);/**將list集合眾的數據轉換成json格式的字符串形式*/JSONArray array = new JSONArray();array = array.fromObject(list);System.out.println(array.toString());

運行Java應用程序,看見在控制臺是哪個打印出了:(這里通過json格式化工具處理后了,方便大家閱讀)

[ { 'birthday': { 'date': 3, 'day': 4, 'hours': 9, 'minutes': 5, 'month': 11, 'seconds': 1, 'time': 1449104701018, 'timezoneOffset': -480, 'year': 115 }, 'username': '張三' }, { 'birthday': { 'date': 3, 'day': 4, 'hours': 9, 'minutes': 5, 'month': 11, 'seconds': 1, 'time': 1449104701018, 'timezoneOffset': -480, 'year': 115 }, 'username': '李四' }, { 'birthday': { 'date': 3, 'day': 4, 'hours': 9, 'minutes': 5, 'month': 11, 'seconds': 1, 'time': 1449104701018, 'timezoneOffset': -480, 'year': 115 }, 'username': '王五' }]

雖然符合json語法格式,但是里面的birthday字段是日期型的,并不是我們一般情況下需要的。這時候,我們就必須寫一個工具類進行處理了。

但遇到Date類型的數據的時候,就需要進行處理。

package com.xbmu.utils; import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import net.sf.json.JsonConfig;import net.sf.json.processors.JsonValueProcessor;/** * 自定義JsonValueProcessor * 比如我們要控制JSON序列化過程中的Date對象的格式化,以及數值的格式化,JsonValueProcessor是最好的選擇。 * @author bitaotao * */public class JsonDateValueProcessor implements JsonValueProcessor {private String pattern = 'yyyy-MM-dd'; public Object processArrayValue(Object value, JsonConfig config) {return process(value);} public Object processObjectValue(String key, Object value, JsonConfig config) {return process(value);}private Object process(Object value){if(value instanceof Date){SimpleDateFormat sdf = new SimpleDateFormat(pattern, Locale.UK);return sdf.format(value);}return value == null ? '' : value.toString();} }

除了自定義日期格式外,還可以如法炮制,控制數值格式化、HTML內容轉碼等。

TestDateValueToJson.java

package com.xbmu.test; import java.util.ArrayList;import java.util.Date;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JsonConfig;import com.xbmu.bean.Student;import com.xbmu.utils.JsonDateValueProcessor; public class TestDateValueToJson {public static void main(String[] args) {/** * 創建三個student對象,并將對象添加到List集合中 * * */List<Student> list = new ArrayList<Student>();Student student = new Student('張三', new Date());list.add(student);student = new Student('李四',new Date());list.add(student);student = new Student('王五',new Date());list.add(student);/**將list集合眾的數據轉換成json格式的字符串形式*/JsonConfig config = new JsonConfig();JsonDateValueProcessor jsonValueProcessor = new JsonDateValueProcessor();config.registerJsonValueProcessor(Date.class, jsonValueProcessor);JSONArray array = new JSONArray();array = array.fromObject(list,config);System.out.println(array.toString());}}

運行Java應用程序,會得到我們期望的json格式:

[ { 'birthday': '2015-12-03', 'username': '張三' }, { 'birthday': '2015-12-03', 'username': '李四' }, { 'birthday': '2015-12-03', 'username': '王五' }]

很顯然這種日期格式,是我們經常使用的。也方便在客戶端解析這種格式的json字符串。

總結

到此這篇關于Java將Date日期類型字段轉換成json字符串的文章就介紹到這了,更多相關Java Date日期類型字段轉json字符串內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 在线观看亚洲一区 | 欧美不卡网 | 怡红院免费va男人的天堂 | 亚洲天堂激情 | 爱爱小视频免费体验区在线观看 | 在线观看国产情趣免费视频 | 国产玖玖视频 | 免费人成在线视频播放2022 | 综合在线视频精品专区 | 国内一级特黄女人精品毛片 | 亚洲欧美日韩中文在线制服 | 国产亚洲精品成人一区看片 | 亚洲免费一级视频 | 国产高清自偷自在线观看 | 免费看一级黄色 | 999久久66久6只有精品 | 9久热这里只有精品视频在线观看 | 在线观看国产小视频 | 综合国产福利视频在线观看 | 亚洲国产欧美日韩一区二区 | 日韩精品一区二区三区国语自制 | 国语自产拍在线观看7m | 美国黄色在线观看 | 欧美成人午夜免费完成 | 久久亚洲一级毛片 | 国产日韩欧美精品一区二区三区 | 欧美日韩在线观看一区 | 久久4k岛国高清一区二区 | 免费国产黄网站在线观看视频 | a一级毛片 | 久久国产精品99久久久久久牛牛 | 日本无翼乌邪恶大全彩h邪恶师 | 久久久99精品久久久久久 | 国产真实乱人视频 | 手机看片日韩高清国产欧美 | 黄色网址在线播放 | 久久久久久尹人网香蕉 | 久久5 | 欧美在线免费 | 欧美经典成人在观看线视频 | 亚洲在线精品 |