2012-04-02 8 views
0

Im ein Java-Objekt wie folgt Rangier:Troubles Marshalling Daten

@XmlRootElement 
public class NegociacionesMobile { 

    @XmlJavaTypeAdapter(JsonDateAdapter.class) 
    private Date fecha; 

    public Date getFecha() { 
    return fecha; 
    } 

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

Und der jSonDateAdapter ist:

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; 
    } 
} 

Wenn nie in zu JSonAdparter Marschall Funktion tritt Rangier- und das Datum ist auf diesen seltsamen Transformation Format. ->, "fecha": 1333110291000,

Einige wissen, was passiert ist?

Danke !!

+0

Was passiert, wenn Sie dem Getter anstelle des Feldes den '@ XmlJavaTypeAdapter (JsonDateAdapter.class)' zuordnen? – mschonaker

+3

Dieses "seltsame" Format ist wahrscheinlich das Standard-Zeitstempelformat, das von 'Date.getTime()' zurückgegeben wird, das ist die Anzahl der Millisekunden seit der Epoche (1970). – biziclop

+0

Danke für die Format Info, und wenn ich den @ XmlJavaTypeAdapter (JsonDateAdapter.class) verhält sich auf die gleiche Weise, tatsächlich tritt nie in dieser Klasse, nicht wissen, warum – IturPablo

Antwort

0

Kommentieren Sie fecha mit @XmlElement.