Inhaltsverzeichnis
Frageninhalt
Problemumgehung
Heim Java Definieren Sie POJOs mit veränderlichen Schlüsseln

Definieren Sie POJOs mit veränderlichen Schlüsseln

Feb 09, 2024 am 08:42 AM

Der PHP-Editor Zimo führt Sie in diesem Artikel in die Verwendung variabler Schlüssel zum Definieren von POJOs (einfache alte Java-Objekte) ein. In der Programmierung bezieht sich POJO auf ein einfaches Java-Objekt, das nicht von einem bestimmten Framework oder einer bestimmten Bibliothek abhängt. Variable Schlüssel bedeuten, dass bei der Definition eines POJO die Schlüssel (Eigenschaftsnamen) je nach Bedarf dynamisch geändert oder erweitert werden können. Diese Technologie ermöglicht uns einen flexibleren Umgang mit Objekteigenschaften und verbessert die Lesbarkeit und Wartbarkeit von Code. Als Nächstes befassen wir uns mit der Definition von POJOs mit variablen Schlüsseln und geben einige Beispiele für praktische Anwendungsszenarien.

Frageninhalt

Ich versuche, JSON in Pojo zu konvertieren, wo die Schlüssel veränderbar sind. Zum Beispiel: Berlin, Paris im folgenden Beispiel:

{
  "berlin": {
    "en-us": {
      "displayname": "us",
      "supportedlanguage": [
        "us"
      ],
      "fullexample": "hello us"
    },
    "en-ca": {
      "displayname": "ca",
      "supportedlanguage": [
        "ca"
      ],
      "fullexample": "hello ca"
    }
  },
  "paris": {
    "en-us": {
      "displayname": "us",
      "supportedlanguage": [
        "us"
      ],
      "fullexample": "hello us"
    },
    "en-ca": {
      "displayname": "ca",
      "supportedlanguage": [
        "ca"
      ],
      "fullexample": "hello ca"
    }
  }
}
Nach dem Login kopieren

Für alles innerhalb des Variablenschlüssels (Berlin, Paris), zum Beispiel:

"en-us": {
      "displayname": "us",
      "supportedlanguage": [
        "us"
      ],
      "fullexample": "hello us"
    },
    "en-ca": {
      "displayname": "ca",
      "supportedlanguage": [
        "ca"
      ],
      "fullexample": "hello ca"
    }
Nach dem Login kopieren

Die von mir definierte Klasse lautet wie folgt:

class citydata {

map <string, languagedata> locale;
}

class languagedata {
string displayname;
list<string> supportedlanguage;
string fullexample;
}
Nach dem Login kopieren

Um schließlich Variablenschlüssel unterzubringen, habe ich ein neues Objekt wie folgt definiert:

class city {

map<string, citydata> city;

}
Nach dem Login kopieren

Allerdings erhalte ich die folgende Fehlermeldung:

Caused by: com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "Berlin" , not marked as ignorable (0 known properties: ])
Nach dem Login kopieren

Wie speichere ich variable Schlüssel in Pojo? Das ist etwas Wesentliches, deshalb möchte ich es über Jackson Objectmapper Readvalue abrufen.

Problemumgehung

Sie müssen die Daten als map<string、citydata> analysieren, nicht als Objekt, das eine Karteneigenschaft enthält. Ihre Root-Ebene ist die Karte.

map<string, citydata> parsed = objectmapper.readvalue(
  input,
  new typereference<map<string, citydata>>() {});
Nach dem Login kopieren

Mit Ihrem Typ city können Sie JSON mithilfe der folgenden Struktur analysieren:

{
  "city": {
    "Berlin": { ... },
    "Paris": { ... }
  }
}
Nach dem Login kopieren

wo Ihr tatsächlicher JSON unter dem Schlüssel „city“ (map<string、citydata> city) verschachtelt ist.

Das obige ist der detaillierte Inhalt vonDefinieren Sie POJOs mit veränderlichen Schlüsseln. 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)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen 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)