轉(zhuǎn):list轉(zhuǎn)json的時(shí)候,關(guān)于date轉(zhuǎn)換的問(wèn)題

原文:https://blog.csdn.net/u013628196/article/details/55518075

java里面時(shí)間類(lèi)型轉(zhuǎn)換成json數(shù)據(jù)就成這樣了:

  "createTime":{"date":30,"day":3,"hours":15,"minutes":14,"month":3,"nanos":0,"seconds":38,"time":1209539678000,"timezoneOffset":-480,"year":108}

期望的結(jié)果:

將date轉(zhuǎn)化成yyyy-MM-dd HH:mm:ss形式

下面開(kāi)始操作

maven導(dǎo)入的包:

<dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

新建DateJsonValueProcessor 類(lèi)


import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateJsonValueProcessor implements JsonValueProcessor  {
 
    private String format = "yyyy-MM-dd HH:mm:ss";
 
    public DateJsonValueProcessor() {
    }
 
    public DateJsonValueProcessor(String format) {
        this.format = format;
    }
    
    @Override
    public Object processArrayValue(Object value, JsonConfig jsonConfig) {
        String[] obj = {};
        if (value instanceof Date[]) {
        SimpleDateFormat sf = new SimpleDateFormat(format);
        Date[] dates = (Date[]) value;
        obj = new String[dates.length];
        for (int i = 0; i < dates.length; i++) {
        obj[i] = sf.format(dates[i]);
        }
        }
        return obj;
    }
 
    @Override
    public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
        if (value instanceof Date) {
            String str = new SimpleDateFormat(format).format((Date) value);
            return str;
        }
            return value.toString();
        }
 
    public String getFormat() {
        return format;
    }
    public void setFormat(String format) {
        this.format = format;
    }
 
}

使用方法:

JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy-MM-dd HH:mm:ss"));
JSONArray jarray = JSONArray.fromObject(list,jsonConfig);
temp = jarray.toString();

注意事項(xiàng):

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

結(jié)果:

"createTime":"2017-02-17 13:59:18"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,917評(píng)論 25 709
  • 正則簡(jiǎn)介 1.使用特殊的符號(hào)來(lái)做校驗(yàn),目標(biāo)是操作字符串。例如:手機(jī)號(hào)、身份證、郵箱等的校驗(yàn) 優(yōu)缺點(diǎn) 1.使用特殊的...
    heen11閱讀 931評(píng)論 0 0
  • 我有新家了,我的新生活開(kāi)始了。 在半個(gè)中國(guó)轉(zhuǎn)了一圈以后,我們開(kāi)始琢磨定居。 本想去一個(gè)山清水秀的小地方,安安靜靜地...
    冬妮婭閱讀 604評(píng)論 0 0
  • 站在一課教學(xué)樓門(mén)口等雨小,半個(gè)鐘過(guò)去了反而越下越大…… 旁邊一起等的妹紙問(wèn)我西六是不是有超市 我說(shuō)有 但是關(guān)門(mén)了 ...
    Skyhyh閱讀 614評(píng)論 0 0
  • 時(shí)曉偉(石船) 云計(jì)算,傳說(shuō)中很神秘 聽(tīng)起來(lái)有點(diǎn)懸 能把每粒沙子鑲上芯片 排好隊(duì),穿成串 隨時(shí)聽(tīng)從指令的召喚 也能...
    石船先生的醬湯閱讀 254評(píng)論 3 4

友情鏈接更多精彩內(nèi)容