Sérialiser Date dans un JSON service web REST que la norme ISO-8601 chaîne

J'ai un JAX-RS application à l'aide de JBoss as 7.1, et je POST/GET JSON et XML des objets qui comprennent les Dates (java.util.Date):

@XmlRootElement
@XmlAccessorType(XmlAccessField.FIELD)
public class MyObject implements Serializable
{
    @XmlSchemaType(name = "dateTime")
    private Date date;
    ...
}

Lorsque j'utilise @Produire("application/xml") sur la méthode get, les objets sont sérialisé en XML et les dates sont convertis en ISO-8601 des chaînes de caractères (par exemple "2012-12-10T14:50:12.123+02:00").

Cependant, si j'utilise @Produire("application/json") sur la méthode get, les dates des objets JSON sont les dates (par exemple, "1355147452530") au lieu de la norme ISO-8601 chaînes.

Comment puis-je faire pour configurer le JAX-RS de mise en œuvre (RESTEasy) pour sérialiser les dates au format JSON que la norme ISO-8601 cordes à la place des horodateurs ?

Merci pour vos réponses.

Note: j'ai également essayé d'utiliser un JAX-RS fournisseur à faire de la sérialisation JSON pour les Dates

@Provider
@Produces(MediaType.APPLICATION_JSON)
public class CustomJsonDateProvider implements MessageBodyWriter<Date>
{
    ...
}

Ce fournisseur semble être enregistrés par RESTeasy sur JBoss démarrage:

[org.jboss.jaxrs] Adding JAX-RS provider classes: package.CustomJsonDateProvider
...
[org.jboss.resteasy.cdi.CdiInjectorFactory] No CDI beans found for class package.CustomJsonDateProvider. Using default ConstructorInjector.

mais il n'est jamais utilisé !

InformationsquelleAutor Zlika | 2012-12-10