javascript
带日期的bean转为json(bean-JSON)
原文鏈接:http://blog.sina.com.cn/s/blog_5f1fe33f0100jibg.html
?
示例代碼:
JsonBean bean = new JsonBean();
bean.setName("NewBaby");
bean.setAge(1);
bean.setBorn(new Date());
jo = JSONObject.fromObject(bean);
System.out.println("bean->json:" + jo.toString());
打印結(jié)果:bean->json:{"age":1,"born":{"date":10,"day":3,"hours":14,"minutes":14,"month":2,"seconds":1,"time":1268201641228,"timezoneOffset":-480,"year":110},"name":"NewBaby"} ?
這時(shí)你會(huì)發(fā)現(xiàn)它把bean對(duì)象里的util.Date這個(gè)類型的所有屬性一一轉(zhuǎn)換出來(lái)。在實(shí)際運(yùn)用過(guò)程中,大多數(shù)情況下我們希望能轉(zhuǎn)化為yyyy-MM-dd這種格式,下面就講一講如何實(shí)現(xiàn)。
首先要寫(xiě)一個(gè)新的類JsonDateValueProcessor如下:
public class JsonDateValueProcessor implements JsonValueProcessor {
??
??? private String datePattern = "yyyy-MM-dd";
??
??? public JsonDateValueProcessor() {
??????? super();
??? }
??
??? public JsonDateValueProcessor(String format) {
??????? super();
??????? this.datePattern = format;
??? }
??
??? public Object processArrayValue(Object value, JsonConfig jsonConfig) {
??????? return process(value);
??? }
??
??? public Object processObjectValue(String key, Object value,
??????????? JsonConfig jsonConfig) {
??????? return process(value);
??? }
??
??? private Object process(Object value) {
??????? try {
??????????? if (value instanceof Date) {
??????????????? SimpleDateFormat sdf = new SimpleDateFormat(datePattern,
??????????????????????? Locale.UK);
??????????????? return sdf.format((Date) value);
??????????? }
??????????? return value == null ? "" : value.toString();
??????? } catch (Exception e) {
??????????? return "";
??????? }
??? }
??
??? public String getDatePattern() {
??????? return datePattern;
??? }
??
??? public void setDatePattern(String pDatePattern) {
??????? datePattern = pDatePattern;
??? }
}
測(cè)試代碼:
JsonBean bean = new JsonBean();
bean.setName("NewBaby");
bean.setAge(1);
bean.setBorn(new Date());
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(Date.class,new JsonDateValueProcessor());
JSONObject jo = JSONObject.fromObject(bean, jsonConfig);
System.out.println("bean->json:" + jo.toString());
打印結(jié)果:bean->json:{"age":1,"born":"2010-03-10","name":"NewBaby"}
這就能得到我們想要的結(jié)果了。
轉(zhuǎn)載于:https://www.cnblogs.com/bobshieh/p/5131475.html
總結(jié)
以上是生活随笔為你收集整理的带日期的bean转为json(bean-JSON)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 汉字转换成拼音的类(转)
- 下一篇: Centos Cacti 0.8.8g