Heim > Java > javaLernprogramm > Wie können wir in Java mit Jackson mehrere Datumsformate abbilden?

Wie können wir in Java mit Jackson mehrere Datumsformate abbilden?

王林
Freigeben: 2023-08-27 11:17:02
nach vorne
980 Leute haben es durchsucht

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

Jackson ist eine Java-basierte Bibliothek, die zum Konvertieren von Java-Objekten in JSON und JSON in Java-Objekte nützlich ist. Mithilfe der Annotation @JsonFormat können wir mehrere Datumsformate in der Jackson-Bibliothek zuordnen. Dabei handelt es sich um eine allgemeine Annotation, die die Details der Serialisierung eines Eigenschaftswerts konfiguriert. @JsonFormat hat drei wichtige Felder: Form, Modus und Zeitzone. Das Feld shape kann die für die Serialisierung verwendete Struktur definieren (JsonFormat.Shape.NUMBER und JsonFormat.Shape.STRING), und das Feld mode kann für die Serialisierung und Deserialisierung verwendet werden. Für Datumsangaben enthält das Schema mit SimpleDateFormat kompatible Definitionen, und schließlich steht das Feld timezone für die Serialisierung zur Verfügung und verwendet standardmäßig die Standardzeitzone des Systems. Die chinesische Übersetzung von

Grammar

@Target(value={ANNOTATION_TYPE,FIELD,METHOD,PARAMETER,TYPE})
@Retention(value=RUNTIME)
public @interface JsonFormat<strong>
</strong>
Nach dem Login kopieren

Example

ist:

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]";
   }
}
Nach dem Login kopieren

Output

Employee [
 createDate=Mon Dec 08 00:00:00 IST 1980,
 createDateGmt=Mon Dec 08 07:30:00 IST 1980
]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können wir in Java mit Jackson mehrere Datumsformate abbilden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage