JSON string zu Objekt
lima-city → Forum → Programmiersprachen → Java
-
Moin,
Ich stehe gerade vor einem Problem,
und zwar programmiere ich gerade ein Servlet das vom Client ein JSON objekt bekommt, mit Daten.
{ "username" : "Hein Kunz", "auth": "//einfach ein verschlüsselter String aus username:password", "... }
mehr von dem Objekt kann ich euch nicht geben.
Den String vom Client kann ich mir ohne Probleme ausgeben lassen und auch in eine neue JSON schreiben, aber kann ich den String auch in ein ava objekt umwandeln?
Denn ich musss weiterhin auch config-Dateien vom Server lesen können.
LG Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Moin,
ja.
Du schreibst eine Java-Klasse mit den Datendefinitionen, die du in deinem JSON-Objekt hast und im Konstruktor regelst du die Zuweisung der einzelnen Daten auf die Datenobjekte.
fürs einlesen kannst du es, wie hier beschrieben, über Klassen-Bibliotheken regeln.
https://www.delftstack.com/de/howto/java/convert-json-to-java/
Alternativ kannst du es auch selbst Zeile für Zeile einlesen und parsen.
was das mit den Config-Dateien vom Server zu tun hat, kann ich nicht zuordnen. -
Danke, hat mir weitergeholfen.
Eigentlich Schade das Java json nicht von haus aus unterstützt!
LG Tobi -
Also in C# kann man dafür den JsonSerializer nutzen. Es würde mich sehr stark wundern, wenn es keinen Serializer in Java dafür geben würde.
Nachdem die Klassen einmal definiert sind, lässt sich so in C# der JSON-String in einer Zeile Code zum Objekt deserialisieren.
-
Gibt es nicht, das ist das Problem
man muss externe Bibliotheken einbinden oder eine eigene klasse schreiben die json objekte zu java objekten macht -
marvinkleinmusic schrieb:
Also in C# kann man dafür den JsonSerializer nutzen. Es würde mich sehr stark wundern, wenn es keinen Serializer in Java dafür geben würde.
Nachdem die Klassen einmal definiert sind, lässt sich so in C# der JSON-String in einer Zeile Code zum Objekt deserialisieren.
Es ist auch in C# nicht bestandteil der Sprache, sondern der .NET-Bibbliothek
https://docs.microsoft.com/en-us/dotnet/api/system.text.json?view=net-6.0 -
Schon mal von Gson gehört? https://github.com/google/gson
Damit kannst du einerseits das Json Objekt auslesen und auf die Inhalte zugreifen, aber auch eine Java-Klasse mit dem Inhalt füllen.
Ich nehm immer diese Seite um den Java-Code zu generieren: https://www.jsonschema2pojo.org
Du kannst Gson sogar um eigene De-/Serializer erweitern um bestimmte Datenformate zu konvertieren, die im Standard nicht funktionieren würden. Datum z.B. oder spezifische Unterobjekte.
Beitrag zuletzt geändert: 7.9.2022 10:33:19 von schrotti12 -
ja gson is was feines keine frage, aber ich durfte in meinem projekt nur build-in bibliotheken verwenden.
war ne bedingung von meinem arbeitgeber. Trotzdem danke für die Hilfe!
LG Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage