国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Java javaDidacticiel Explication détaillée de la fa?on de résoudre le problème de formatage de SpringMVC renvoyant les données JSON de l'heure Java8

Explication détaillée de la fa?on de résoudre le problème de formatage de SpringMVC renvoyant les données JSON de l'heure Java8

Mar 07, 2017 am 10:03 AM

Cet article présente principalement comment résoudre le problème de formatage de SpringMVC renvoyant des données JSON en temps Java8. L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'?il

Parfois, l'annotation @ResponseBody est utilisée lors du renvoi d'une réponse au format JSON dans Spring MVC, mais elle sera très gênante lors du traitement du temps en java8. Généralement, le HTTPMessageConverter que nous utilisons. est MappingJackson2HttpMessageConverter, le format d'heure qu'il renvoie par défaut est le suivant?:

"startDate" : {
  "year" : 2010,
  "month" : "JANUARY",
  "dayOfMonth" : 1,
  "dayOfWeek" : "FRIDAY",
  "dayOfYear" : 1,
  "monthValue" : 1,
  "hour" : 2,
  "minute" : 2,
  "second" : 0,
  "nano" : 0,
  "chronology" : {
   "id" : "ISO",
   "calendarType" : "iso8601"
  }
 }

Mais nous ne reviendrons pas cela au front-end, pensez-y LocalDate Le format à renvoyer est 2016-11-26 et le format que LocalDateTime souhaite renvoyer est des données telles que 2016-11-26 21:04:34. A travers une recherche de projet et la consultation d'informations pertinentes, voici deux manières de le mettre en ?uvre dans une recherche personnelle.

Solution 1?:

S'il s'agit d'un projet maven, introduisez le package jar suivant dans le pom?:

<dependency>
   <groupId>com.fasterxml.jackson.datatype</groupId>
   <artifactId>jackson-datatype-jsr310</artifactId>
   <version>2.8.5</version>
 </dependency>

Ajoutez ensuite une annotation @JsonSerializer sur la fonction get du champ POJO que vous souhaitez JSONiser, comme suit

import com.fasterxml.jackson.annotation.JsonFormat;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
public LocalDateTime getBirthday() {
    return this.loginTime;
  }

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
public LocalDateTime getLastLoginTime() {
    return this.loginTime;
  }

L'avantage de cette méthode est que différentes méthodes d'affichage peuvent être définies pour des types de domaines spécifiques. Cependant, l'avantage est aussi un inconvénient, car chaque attribut de date doit être ajouté manuellement. L'attribut est généralement nécessaire et il est nécessaire d'introduire un package jar supplémentaire de jsr310.

Solution 2?:

Héritez ObjectMapper pour renvoyer la cha?ne json. MappingJackson2HttpMessageConverter utilise principalement ObjectMapper pour renvoyer des cha?nes json. Ici, nous écrivons une classe JsonUtil, obtenons l'ObjectMapper pour enregistrer le JsonSerializer correspondant pour la nouvelle API de date et d'heure dans java8.

/**
 * json處理工具類
 * 
 * 
 */
@Component
public class JsonUtil {

  private static final ObjectMapper mapper;

  public ObjectMapper getMapper() {
    return mapper;
  }

  static {

    mapper = new ObjectMapper();

    SimpleModule module = new SimpleModule();
    module.addSerializer(LocalDate.class, new LocalDateSerializer());
    module.addSerializer(LocalTime.class, new LocalTimeSerializer());
    module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer());
    mapper.registerModule(module);
  }

  public static String toJson(Object obj) {
    try {
      return mapper.writeValueAsString(obj);
    } catch (Exception e) {
      throw new RuntimeException("轉(zhuǎn)換json字符失敗!");
    }
  }

  public <T> T toObject(String json, Class<T> clazz) {
    try {
      return mapper.readValue(json, clazz);
    } catch (IOException e) {
      throw new RuntimeException("將json字符轉(zhuǎn)換為對(duì)象時(shí)失敗!");
    }
  }
}

class LocalDateSerializer extends JsonSerializer<LocalDate> {

  private static final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

  @Override
  public void serialize(LocalDate value, JsonGenerator jgen, SerializerProvider provider)
      throws IOException, JsonProcessingException {
    jgen.writeString(dateFormatter.format(value));
  }
}

class LocalDateTimeSerializer extends JsonSerializer<LocalDateTime> {

  private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

  @Override
  public void serialize(LocalDateTime value, JsonGenerator jgen, SerializerProvider provider)
      throws IOException, JsonProcessingException {
    jgen.writeString(dateTimeFormatter.format(value));
  }

}

class LocalTimeSerializer extends JsonSerializer<LocalTime> {

  private static final DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");

  @Override
  public void serialize(LocalTime value, JsonGenerator jgen, SerializerProvider provider)
      throws IOException, JsonProcessingException {
    jgen.writeString(timeFormatter.format(value));

  }

}

Ensuite, dans le fichier de configuration springmvc, remplacez par la configuration suivante, configurez un nouveau convertisseur json. définit son objet ObjectMapper sur l'objet objectMapper dans JsonUtil. Ce convertisseur a une priorité plus élevée que le convertisseur json intégré de Spring, donc Spring l'utilisera en premier pour les conversions liées à Json.

<mvc:annotation-driven>
    <mvc:message-converters>
      <bean
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="objectMapper" value="#{jsonUtil.mapper}" />
        <property name="supportedMediaTypes">
          <list>
            <value>application/json;charset=UTF-8</value>
          </list>
        </property>
      </bean>
    </mvc:message-converters>
  </mvc:annotation-driven>

Ensuite, plusieurs types de date et d'heure dans java8 peuvent être affichés normalement et de manière conviviale. L'avantage est que les types tels que la date et l'heure sont gérés de manière globale et uniforme, mais l'inconvénient est qu'un certain champ du POJO est spécialement traité.

Ce qui précède est une explication détaillée de la fa?on de résoudre le problème de formatage de SpringMVC renvoyant des données JSON en temps Java8. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.miracleart.cn). !


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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276
Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON Conseils d'optimisation des performances pour la conversion de tableaux PHP en JSON May 04, 2024 pm 06:15 PM

Les méthodes d'optimisation des performances pour la conversion des tableaux PHP en JSON incluent?: l'utilisation d'extensions JSON et de la fonction json_encode()?; l'ajout de l'option JSON_UNESCAPED_UNICODE pour éviter l'échappement de caractères?; l'utilisation de tampons pour améliorer les performances d'encodage de boucle et l'utilisation d'un tiers?; Bibliothèque d'encodage JSON.

Comment enregistrer les données JSON dans la base de données dans Golang ? Comment enregistrer les données JSON dans la base de données dans Golang ? Jun 06, 2024 am 11:24 AM

Les données JSON peuvent être enregistrées dans une base de données MySQL à l'aide de la bibliothèque gjson ou de la fonction json.Unmarshal. La bibliothèque gjson fournit des méthodes pratiques pour analyser les champs JSON, et la fonction json.Unmarshal nécessite un pointeur de type cible pour désorganiser les données JSON. Les deux méthodes nécessitent la préparation d'instructions SQL et l'exécution d'opérations d'insertion pour conserver les données dans la base de données.

Comment les annotations de la bibliothèque Jackson contr?lent-elles la sérialisation et la désérialisation JSON?? Comment les annotations de la bibliothèque Jackson contr?lent-elles la sérialisation et la désérialisation JSON?? May 06, 2024 pm 10:09 PM

Les annotations dans la bibliothèque Jackson contr?lent la sérialisation et la désérialisation JSON : Sérialisation : @JsonIgnore : Ignorer la propriété @JsonProperty : Spécifiez le nom @JsonGetter : Utilisez la méthode get @JsonSetter : Utilisez la méthode set Désérialisation : @JsonIgnoreProperties : Ignorez la propriété @ JsonProperty : Spécifiez le nom @JsonCreator?: utilisez le constructeur @JsonDeserialize?: logique personnalisée

Comment utiliser les fonctions PHP pour traiter les données JSON ? Comment utiliser les fonctions PHP pour traiter les données JSON ? May 04, 2024 pm 03:21 PM

PHP fournit les fonctions suivantes pour traiter les données JSON : Analyser les données JSON : utilisez json_decode() pour convertir une cha?ne JSON en un tableau PHP. Créer des données JSON?: utilisez json_encode() pour convertir un tableau ou un objet PHP en cha?ne JSON. Obtenez des valeurs spécifiques des données JSON?: utilisez les fonctions de tableau PHP pour accéder à des valeurs spécifiques, telles que des paires clé-valeur ou des éléments de tableau.

Conseils rapides pour convertir des tableaux PHP en JSON Conseils rapides pour convertir des tableaux PHP en JSON May 03, 2024 pm 06:33 PM

Les tableaux PHP peuvent être convertis en cha?nes JSON via la fonction json_encode() (par exemple : $json=json_encode($array);), et inversement, la fonction json_decode() peut être utilisée pour convertir du JSON en tableaux ($array= json_decode($json);) . D'autres conseils incluent d'éviter les conversions profondes, de spécifier des options personnalisées et d'utiliser des bibliothèques tierces.

Conquérir le summum du traitement Java JSON?: analyser et créer des données complexes Conquérir le summum du traitement Java JSON?: analyser et créer des données complexes Mar 09, 2024 am 09:13 AM

Analyse des données JSON L'analyse des données JSON est une étape critique dans le traitement de données complexes. En Java, nous pouvons utiliser les méthodes suivantes : Utiliser la bibliothèque Gson : Gson est une bibliothèque d'analyse jsON largement utilisée qui fournit une API concise et efficace, comme indiqué ci-dessous : Gsongson=newGson();JsonObjectjsonObject=gson.fromJson(jsonString ,JsonObject .class) ; Utilisation de la bibliothèque Jackson : Jackson est une autre bibliothèque de traitement JSON populaire qui prend en charge des fonctionnalités riches et la conversion vers d'autres formats (tels que XML), comme indiqué ci-dessous : ObjectMappe

Existe-t-il une alternative RSS basée sur JSON? Existe-t-il une alternative RSS basée sur JSON? Apr 10, 2025 am 09:31 AM

JSONFeed est une alternative RSS basée sur JSON qui a ses avantages simplicité et facilité d'utilisation. 1) JSONFeed utilise le format JSON, qui est facile à générer et à analyser. 2) Il prend en charge la génération dynamique et convient au développement Web moderne. 3) L'utilisation de JSONFeed peut améliorer l'efficacité de la gestion du contenu et l'expérience utilisateur.

JSON contre XML: Pourquoi RSS a choisi XML JSON contre XML: Pourquoi RSS a choisi XML May 05, 2025 am 12:01 AM

RSS a choisi XML au lieu de JSON car: 1) les capacités de structure et de vérification de XML sont meilleures que JSON, ce qui convient aux besoins des structures de données complexes RSS; 2) XML a été largement soutenu à l'époque; 3) Les premières versions de RSS étaient basées sur XML et sont devenues une norme.

See all articles