Inhaltsverzeichnis
JSON
Algorithmus
Beispiel
Ausgabe
Fazit
Heim Java javaLernprogramm Wie ignoriere ich unbekannte Eigenschaften beim Parsen von JSON in Java?

Wie ignoriere ich unbekannte Eigenschaften beim Parsen von JSON in Java?

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

Wie ignoriere ich unbekannte Eigenschaften beim Parsen von JSON in Java?

Bei der Verarbeitung von JSON-Daten in Java stoßen Entwickler möglicherweise auf unbekannte Eigenschaften oder Felder, die nicht in der entsprechenden Java-Klasse definiert sind. Diese nicht erkannten Elemente können beim Parsen Probleme verursachen und Ausnahmen oder Datenverlust verursachen. Um dieses Problem zu lösen, können Programmierer einen Mechanismus implementieren, um solche unbekannten Eigenschaften beim Parsen von JSON zu ignorieren.

Durch die ordnungsgemäße Konfiguration Ihres JSON-Parsers wird verhindert, dass unerwartete Eigenschaften die Funktionalität Ihrer Anwendung beeinträchtigen. JSON-Daten können robuster und flexibler analysiert werden, indem nicht erkannte Eigenschaften übersprungen und nur diejenigen analysiert werden, die mit der definierten Struktur übereinstimmen. Dadurch wird sichergestellt, dass wichtige Informationen nicht übersehen werden und unnötige oder ungültige Daten ignoriert werden.

JSON

Java verwendet JSON (JavaScript Object Notation) als leichtes und weit verbreitetes Datenaustauschformat zum Übertragen und Speichern strukturierter Daten. Sein einfaches und für Menschen lesbares Format ermöglicht die Darstellung von Objekten, Arrays, Zeichenfolgen, Zahlen, booleschen Werten und Nullwerten. JSON besteht aus Schlüssel-Wert-Paaren, die Schlüssel in Form von Zeichenfolgen verwenden, um die Verarbeitungslast zu verringern.

Umformulierung des JSON-Formats in Java wird normalerweise als Zeichenfolge dargestellt und mithilfe von Parsing- und Serialisierungsbibliotheken zwischen Java-Objekten konvertiert. Diese APIs ermöglichen das Parsen von JSON-Strings in Java-Objekte und umgekehrt und ermöglichen so die Integration zwischen JSON-basierten Systemen und Java-Anwendungen. Diese nahtlose Kommunikation ermöglicht einen einfachen Datenaustausch zwischen verschiedenen Systemen.

Methode

Es gibt verschiedene Möglichkeiten, unbekannte Eigenschaften beim Parsen von JSON in Java zu ignorieren. Hier sind einige häufig verwendete Methoden:

  • Jackson-Bibliothek mit ObjectMapper

  • Gson-Bibliothek mit GsonBuilder

  • JSON-B (Java API für JSON-Bindung)

  • Manuelle Analyse

Jackson-Bibliothek mit ObjectMapper

Diese Methode beinhaltet die Konfiguration des ObjectMapper (eine von der Jackson-Bibliothek bereitgestellte Klasse), indem die Funktion DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES auf false gesetzt wird. Dadurch kann der ObjectMapper unbekannte Eigenschaften beim Parsen von JSON ignorieren und so verhindern, dass Ausnahmen ausgelöst werden.

Algorithmus

  • Erstellen Sie eine Instanz von ObjectMapper.

  • Konfigurieren Sie den ObjectMapper, um die Funktion DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES auf false zu setzen.

  • Verwenden Sie ObjectMapper, um JSON-Daten in erforderliche Java-Objekte zu analysieren.

Beispiel

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 +
            '}';
   }
}
Nach dem Login kopieren

Ausgabe

Person{name='John', age=25}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Gson-Bibliothek mit GsonBuilder

Um die Gson-Bibliothek in dieser Methode zu verwenden, müssen Sie eine Gson-Instanz mit der GsonBuilder-Klasse erstellen. Dies kann erreicht werden, indem die Methode setIgnoreUnknownProperties() mit dem Argument true aufgerufen wird. Dadurch wird Gson angewiesen, unbekannte Eigenschaften während der JSON-Analyse zu ignorieren, um sicherzustellen, dass sie nicht als Fehler behandelt werden.

Algorithmus

  • Erstellen Sie eine Instanz von GsonBuilder.

  • Rufen Sie die Methode setIgnoreUnknownProperties(true) auf der GsonBuilder-Instanz auf.

  • Verwenden Sie GsonBuilder, um Gson-Objekte zu erstellen.

  • Verwenden Sie Gson-Objekte, um JSON-Daten in erforderliche Java-Objekte zu analysieren.

Beispiel

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 +
            '}';
   }
}
Nach dem Login kopieren

Ausgabe

Person{name='John', age=25}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

JSON-B (Java API für JSON-Bindung)

Um unbekannte Eigenschaften mithilfe von JSON-B zu ignorieren, muss die Java-Klasse, die die JSON-Struktur darstellt, mit @JsonbTransient für die Felder oder Eigenschaften versehen werden, die ignoriert werden sollen. Diese Annotation weist die JSON-B-Bibliothek an, diese Eigenschaften während der JSON-Analyse zu überspringen.

Algorithmus

  • Verwenden Sie die Annotation @JsonbTransient für die Java-Klasse, die die JSON-Struktur für die Felder oder Eigenschaften darstellt, die Sie ignorieren möchten.

  • Verwenden Sie die JSON-B-Implementierung, um JSON-Daten in erforderliche Java-Objekte zu analysieren.

Beispiel

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 +
            '}';
   }
}
Nach dem Login kopieren

Ausgabe

Person{name='John', age=25}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Manuelles Parsen

Um JSON-Daten mithilfe von Bibliotheken wie org.json oder json-simple zu analysieren, verfolgen Entwickler den Ansatz, die Schlüssel und Werte des JSON-Objekts manuell zu iterieren. Entwickler können ihr gewünschtes Parsing-Verhalten anpassen, indem sie identifizierte Eigenschaften selektiv verarbeiten und unbekannte Eigenschaften ignorieren.

Algorithmus

  • Verwenden Sie eine JSON-Bibliothek wie org.json oder json-simple, um JSON-Daten in JSON-Objekte zu analysieren.

  • Durchlaufen Sie die Schlüssel und Werte eines JSON-Objekts.

  • Verarbeiten Sie identifizierte Eigenschaften und ignorieren Sie alle nicht erkannten oder unbekannten Eigenschaften während der Iteration.

Beispiel

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 +
            '}';
   }
}
Nach dem Login kopieren

Ausgabe

Person{name='John', age=25}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

In diesem Tutorial ist es beim Parsen von JSON in Java wichtig, unbekannte Eigenschaften angemessen zu behandeln, um Robustheit und Flexibilität bei der Datenverarbeitung sicherzustellen. Durch die Konfiguration eines ObjectMapper mit Jackson, die Verwendung von Gson und GsonBuilder, die Nutzung von JSON-B-Annotationen oder das manuelle Parsen von JSON-Daten können Entwickler unbekannte Eigenschaften effektiv ignorieren und potenzielle Probleme beim Parsen von JSON in Java entschärfen.

Das obige ist der detaillierte Inhalt vonWie ignoriere ich unbekannte Eigenschaften beim Parsen von JSON in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

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

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Wie führe ich Ihre erste Spring -Boot -Anwendung in der Spring Tool Suite aus? Feb 07, 2025 pm 12:11 PM

Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo

See all articles