Table des matières
JSON
Algorithme
Exemple
Sortie
Conclusion
Maison Java javaDidacticiel Comment ignorer les propriétés inconnues lors de l'analyse de JSON en Java ?

Comment ignorer les propriétés inconnues lors de l'analyse de JSON en Java ?

Sep 07, 2023 pm 06:45 PM
java json 解析

Comment ignorer les propriétés inconnues lors de lanalyse de JSON en Java ?

Lors du traitement des données JSON en Java, les développeurs peuvent rencontrer des propriétés inconnues ou des champs qui ne sont pas définis dans la classe Java correspondante. Ces éléments non reconnus peuvent provoquer des problèmes lors de l'analyse, provoquant des exceptions ou une perte de données. Pour résoudre ce problème, les programmeurs peuvent implémenter un mécanisme permettant d'ignorer ces propriétés inconnues lors de l'analyse de JSON.

Une configuration correcte de votre analyseur JSON empêche des propriétés inattendues de perturber les fonctionnalités de votre application. Les données JSON peuvent être analysées de manière plus robuste et flexible en ignorant les propriétés non reconnues et en analysant uniquement celles qui correspondent à la structure définie. Cela garantit que les informations importantes ne sont pas négligées tandis que les données inutiles ou invalides sont ignorées.

JSON

Java utilise JSON (JavaScript Object Notation) comme format d'échange de données léger et largement utilisé pour transmettre et stocker des données structurées. Son format simple et lisible par l'homme permet la représentation d'objets, de tableaux, de chaînes, de nombres, de valeurs booléennes et de valeurs nulles. JSON est composé de paires clé-valeur utilisant des clés sous forme de chaînes pour alléger sa charge de traitement.

Rephrase Le format JSON en Java est généralement représenté sous forme de chaîne et converti entre objets Java à l'aide de bibliothèques d'analyse et de sérialisation. Ces API permettent d'analyser les chaînes JSON dans des objets Java et vice versa, permettant ainsi l'intégration entre les systèmes basés sur JSON et les applications Java. Cette communication transparente facilite l’échange de données entre différents systèmes.

Méthode

Il existe plusieurs façons d'ignorer les propriétés inconnues lors de l'analyse de JSON en Java. Voici quelques méthodes couramment utilisées :

  • Bibliothèque Jackson avec ObjectMapper

  • Bibliothèque Gson avec GsonBuilder

  • JSON-B (API Java pour la liaison JSON)

  • Analyse manuelle

Bibliothèque Jackson avec ObjectMapper

Cette méthode implique de configurer l'ObjectMapper (une classe fournie par la bibliothèque Jackson) en définissant la fonctionnalité DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES sur false. Cela permet à ObjectMapper d'ignorer les propriétés inconnues lors de l'analyse de JSON, empêchant ainsi la levée d'exceptions.

Algorithme

  • Créez une instance d'ObjectMapper.

  • Configurez ObjectMapper pour définir la fonctionnalité DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES sur false.

  • Utilisez ObjectMapper pour analyser les données JSON en objets Java requis.

Exemple

import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonExample {
   public static void main(String[] args) throws Exception {
      String jsonString = "{"name": "John", "age": 25, "unknownProperty": "Value"}";

      ObjectMapper objectMapper = new ObjectMapper();
 
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

      Person person = objectMapper.readValue(jsonString, Person.class);
      System.out.println(person);
   }
}

class Person {
   private String name;
   private int age;

   // Getters and setters

   @Override
   public String toString() {
      return "Person{" +
            "name='" + name + ''' +
            ", age=" + age +
            '}';
   }
}
Copier après la connexion

Sortie

Person{name='John', age=25}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Bibliothèque Gson avec GsonBuilder

Pour utiliser la bibliothèque Gson dans cette méthode, vous devez créer une instance Gson à l'aide de la classe GsonBuilder. Cela peut être réalisé en appelant la méthode setIgnoreUnknownProperties() avec l'argument true. Cela indique à Gson d'ignorer les propriétés inconnues lors de l'analyse JSON, garantissant ainsi qu'elles ne sont pas traitées comme des erreurs.

Algorithme

  • Créez une instance de GsonBuilder.

  • Appelez la méthode setIgnoreUnknownProperties(true) sur l'instance GsonBuilder.

  • Utilisez GsonBuilder pour créer des objets Gson.

  • Utilisez les objets Gson pour analyser les données JSON en objets Java requis.

Exemple

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

public class GsonExample {
   public static void main(String[] args) {
      String jsonString = "{"name": "John", "age": 25, "unknownProperty": "Value"}";

      Gson gson = new GsonBuilder()
            .setIgnoreUnknownProperties(true)
            .create();

      Person person = gson.fromJson(jsonString, Person.class);
      System.out.println(person);
   }
}

class Person {
   private String name;
   private int age;

   // Getters and setters

   @Override
   public String toString() {
      return "Person{" +
            "name='" + name + ''' +
            ", age=" + age +
            '}';
   }
}
Copier après la connexion

Sortie

Person{name='John', age=25}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

JSON-B (API Java pour la liaison JSON)

Pour ignorer les propriétés inconnues à l'aide de JSON-B, la classe Java représentant la structure JSON doit être annotée avec @JsonbTransient sur les champs ou propriétés qui doivent être ignorés. Cette annotation indique à la bibliothèque JSON-B d'ignorer ces propriétés lors de l'analyse JSON.

Algorithme

  • Utilisez l'annotation @JsonbTransient sur la classe Java qui représente la structure JSON sur les champs ou propriétés que vous souhaitez ignorer.

  • Utilisez l'implémentation JSON-B pour analyser les données JSON dans les objets Java requis.

Exemple

import javax.json.bind.Jsonb;
import javax.json.bind.JsonbBuilder;

public class JsonBExample {
   public static void main(String[] args) {
      String jsonString = "{"name": "John", "age": 25, "unknownProperty": "Value"}";

      Jsonb jsonb = JsonbBuilder.create();

      Person person = jsonb.fromJson(jsonString, Person.class);
      System.out.println(person);
   }
}

class Person {
   private String name;
   private int age;

   // Getters and setters

   @Override
   public String toString() {
      return "Person{" +
            "name='" + name + ''' +
            ", age=" + age +
            '}';
   }
}
Copier après la connexion

Sortie

Person{name='John', age=25}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Analyse manuelle

Pour analyser les données JSON à l'aide de bibliothèques comme org.json ou json-simple, les développeurs suivent l'approche consistant à itérer manuellement sur les clés et les valeurs de l'objet JSON. Les développeurs peuvent personnaliser le comportement d'analyse souhaité en traitant sélectivement les propriétés identifiées et en ignorant les propriétés inconnues.

Algorithme

  • Utilisez une bibliothèque JSON telle que org.json ou json-simple pour analyser les données JSON en objets JSON.

  • Parcourez les clés et les valeurs d'un objet JSON.

  • Traitez les propriétés identifiées et ignorez toutes les propriétés non reconnues ou inconnues pendant l'itération.

Exemple

import org.json.JSONObject;

public class ManualParsingExample {
   public static void main(String[] args) {
      String jsonString = "{"name": "John", "age": 25, "unknownProperty": "Value"}";

      JSONObject jsonObject = new JSONObject(jsonString);

      String name = jsonObject.optString("name");
      int age = jsonObject.optInt("age");

      Person person = new Person();
      person.setName(name);
      person.setAge(age);

      System.out.println(person);
   }
}

class Person {
   private String name;
   private int age;

   // Getters and setters

   @Override
   public String toString() {
      return "Person{" +
            "name='" + name + ''' +
            ", age=" + age +
            '}';
   }
}
Copier après la connexion

Sortie

Person{name='John', age=25}
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Conclusion

Dans ce tutoriel, lors de l'analyse de JSON en Java, il est important de gérer les propriétés inconnues de manière appropriée pour garantir la robustesse et la flexibilité du traitement des données. En configurant un ObjectMapper avec Jackson, en utilisant Gson et GsonBuilder, en exploitant les annotations JSON-B ou en analysant manuellement les données JSON, les développeurs peuvent ignorer efficacement les propriétés inconnues et atténuer les problèmes potentiels lors de l'analyse JSON en Java.

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!

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Comment exécuter votre première application Spring Boot dans Spring Tool Suite? Feb 07, 2025 pm 12:11 PM

Spring Boot simplifie la création d'applications Java robustes, évolutives et prêtes à la production, révolutionnant le développement de Java. Son approche "Convention sur la configuration", inhérente à l'écosystème de ressort, minimise la configuration manuelle, allo

See all articles