[JAVA] [jackson] Je souhaite recevoir les valeurs JSON "0" et "1" sous forme de booléen

Motivation

référence

Aperçu

Sérialiser et délicatesse

Exemple de code

JSON que vous souhaitez analyser

{
    "name": "Exemple d'article",
    "required": "1"
}

Objet de données

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class SampleItem {

  private String name;

  @JsonDeserialize(using=NumericBooleanDeserializer.class) //Classe de désérialiseur créée ci-dessous
  private boolean required;  //Cela peut être booléen. S'il n'y a pas de valeur correspondante dans JSON, ce sera FALSE.
}

Désérialiseur

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;

import java.io.IOException;

/**
 *Paramètres de conversion de chaîne JSON (booléen).
 * - 0 → false
 * - 1 → true
 */
public static class NumericBooleanDeserializer extends JsonDeserializer<Boolean> {
  @Override
  public Boolean deserialize(JsonParser parser, DeserializationContext context) throws IOException {
    return !"0".equals(parser.getText());
  }
}

Recommended Posts

[jackson] Je souhaite recevoir les valeurs JSON "0" et "1" sous forme de booléen
Je veux obtenir des propriétés sous forme de chaînes JSON dans Jackson!
Je souhaite également utiliser Combine dans UIKit.
Convertir l'énumération Java et JSON vers et depuis Jackson
Je veux faire des transitions d'écran avec kotlin et java!
[Java] Convertir JSON en Java et Java en JSON-Comment utiliser GSON et Jackson-
Je veux convertir des caractères ...
Je veux amener Tomcat sur le serveur et démarrer l'application
Je veux faire une liste avec kotlin et java!
Je veux appeler une méthode et compter le nombre
Je veux créer une fonction avec kotlin et java!
Créez une API pour envoyer et recevoir des données Json avec Spring
Je souhaite échanger des données JSON (objets) avec Ajax entre Java et JavaScript! ~ Édition de printemps ~
Je veux implémenter diverses fonctions avec kotlin et java!
Je souhaite renvoyer plusieurs valeurs de retour pour l'argument saisi
Je souhaite accorder des autorisations de modification et de suppression uniquement à l'affiche
Webpack et webpacker que je veux dire aux gens de Ruby maintenant
Je veux pouvoir penser et écrire moi-même des expressions régulières. ..
Je veux revenir à l'écran précédent avec kotlin et java!
Je veux vraiment faire "new T ()"! (Et sans exceptions d'inspection)
Je souhaite effectuer un traitement asynchrone et une exécution périodique avec Rail !!!
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
Je veux afficher des images avec REST Controller de Java et Spring!
[Administrateur actif] Je souhaite personnaliser le traitement de création et de mise à jour par défaut
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Je souhaite développer une application web!
Je veux écrire un joli build.gradle
Je veux créer une application ios.android
Je souhaite utiliser DBViewer avec Eclipse 2018-12! !!
Je veux écrire un test unitaire!
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
Je veux arrêter complètement les mises à jour Java
Je veux utiliser @Autowired dans Servlet
Je souhaite cibler les champs statiques sur @Autowired
Je veux faire du développement d'équipe à distance
Comment assembler JSON directement dans Jackson
Acquisition de données JSON et rotation des valeurs
Conversion de JSON en TSV et TSV en JSON avec Ruby
Je veux que vous utilisiez Scala comme meilleur Java pour le moment
Rails6 Je veux créer un tableau de valeurs avec une case à cocher
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
J'ai essayé de convertir Java Bean et XML avec le formateur XML de Jackson à cette époque
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.