2012-04-02 66 views
0

林編組的Java對象如下:故障編組日期

@XmlRootElement 
public class NegociacionesMobile { 

    @XmlJavaTypeAdapter(JsonDateAdapter.class) 
    private Date fecha; 

    public Date getFecha() { 
    return fecha; 
    } 

    public void setFecha(Date fecha) { 
    this.fecha = fecha; 
    } 
} 

而且jSonDateAdapter是:

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

import javax.xml.bind.annotation.adapters.XmlAdapter; 

public class JsonDateAdapter extends XmlAdapter<String, Date> { 

    @Override 
    public Date unmarshal(String v) throws Exception { 
    Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(v); 
    return date; 
    } 

    @Override 
    public String marshal(Date v) throws Exception { 
    String date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(v); 
    return date; 
    } 
} 

當以JSonAdparter的元帥功能編組不會進入和日期是轉換到這個怪異格式。 - >,「fecha」:1333110291000,

有人知道發生了什麼?

謝謝!

+0

如果將@XmlJavaTypeAdapter(JsonDateAdapter.class)'關聯到getter而不是字段會發生什麼? – mschonaker 2012-04-02 15:12:30

+3

「奇怪」格式可能是由'Date.getTime()'返回的標準時間戳格式,即自紀元(1970年)以來的毫秒數。 – biziclop 2012-04-02 15:33:39

+0

感謝格式信息,如果我把@XmlJavaTypeAdapter(JsonDateAdapter.class)的行爲方式相同,實際上從來沒有進入該類,不知道爲什麼 – IturPablo 2012-04-02 16:00:04

回答