Maison > Java > javaDidacticiel > le corps du texte

En Java, comment pouvons-nous mapper plusieurs formats de date à l'aide de Jackson ?

王林
Libérer: 2023-08-27 11:17:02
avant
912 Les gens l'ont consulté

在Java中,我们如何使用Jackson映射多个日期格式?

Jackson est une bibliothèque basée sur Java qui est utile pour convertir des objets Java en JSON et JSON en objets Java. Nous pouvons mapper plusieurs formats de date dans la bibliothèque Jackson à l'aide de l'annotation @JsonFormat, qui est une annotation générique utilisée pour configurer les détails de la façon dont une valeur de propriété est sérialisée. @JsonFormat a trois champs importants : shape, mode et timezone. Le champ shape peut définir la structure utilisée pour la sérialisation (JsonFormat.Shape.NUMBER et JsonFormat.Shape.STRING), et le champ mode peut être utilisé pour la sérialisation et la désérialisation. Pour les dates, le schéma contient des définitions compatibles SimpleDateFormat , et enfin, le champ timezone est disponible pour la sérialisation et prend par défaut le fuseau horaire par défaut du système. La traduction chinoise de

Grammar

@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER,TYPE})
@Retention(value=RUNTIME)
public @interface JsonFormat<strong>
</strong>
Copier après la connexion

Example

est :

Example

import java.io.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonDateformatTest {
   final static ObjectMapper mapper = new ObjectMapper();
   public static void main(String[] args) throws Exception {
      JacksonDateformatTest jacksonDateformat = new JacksonDateformatTest();
      jacksonDateformat.dateformat();
   }
   public void dateformat() throws Exception {
      String json = "{\"createDate\":\"1980-12-08\"," + "\"createDateGmt\":\"1980-12-08 3:00 PM GMT+1:00\"}";
      Reader reader = new StringReader(json);
      Employee employee = mapper.<strong>readValue</strong>(reader, <strong>Employee.class</strong>);
      System.out.println(employee);
   }
}
// Employee class
class Employee implements Serializable {
   @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "IST")
   private Date createDate;
   @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm a z", timezone = "IST")<strong>
</strong>   private Date createDateGmt;
   public Date getCreateDate() {
      return createDate;
   }
   public void setCreateDate(Date createDate) {
      this.createDate = createDate;
   }
   public Date getCreateDateGmt() {
      return createDateGmt;
   }
   public void setCreateDateGmt(Date createDateGmt) {
      this.createDateGmt = createDateGmt;
   }
<strong>  </strong> @Override
   public String toString() {
      return "Employee [\ncreateDate=" + createDate + ", \ncreateDateGmt=" + createDateGmt + "\n]";
   }
}
Copier après la connexion

Output

Employee [
 createDate=Mon Dec 08 00:00:00 IST 1980,
 createDateGmt=Mon Dec 08 07:30:00 IST 1980
]
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!