Zum Inhalt springen
Anjunar/ DOCS

JSON Mapper

JSON für Anwendungen mit Domänenmodell. Deserialisierung schreibt in die Objekte, die du schon hast; ein Update ändert, was sich geändert hat, und lässt Identität, Referenzen und Beziehungen intakt.

1.1.5Aktuelle Version
JVMLäuft auf
Scala 3.3Sprachversion
MITLizenz

Installation

Ein Artefakt. Es bringt scala-universe mit, das die Typen auflöst, mit denen der Mapper arbeitet.

sbt
libraryDependencies += "com.anjunar" %% "json-mapper" % "1.1.5"

Übernehmen statt ersetzen

Das Ziel existiert bereits, geladen aus der Datenbank oder im Speicher gehalten. Das JSON ändert zwei Properties; alles andere am Objekt bleibt.

scala
import com.anjunar.json.mapper.JsonMapper import com.anjunar.json.mapper.intermediate.JsonParser import com.anjunar.scala.universe.TypeResolver val user = loadUser() // an existing UserDto val address = user.address JsonMapper.deserialize( JsonParser.parse("""{"name": "Grace", "address": {"city": "Hamburg"}}"""), user, TypeResolver.resolve(classOf[UserDto]), null, loader, inject, validator ) println(user.name) // Grace println(user.address eq address) // true: the same address, now in Hamburg
01 / Übernehmen

An Ort und Stelle, nicht neu

Verschachtelte Objekte und Collections werden dort aktualisiert, wo sie sind. Elemente behalten ihre Identität über die ID.

02 / Regeln

Das Modell entscheidet, was sichtbar ist

Ein Schema pro Entity listet ihre Properties; eine Regel pro Property entscheidet, wer sie lesen und wer sie schreiben darf.

03 / Integrität

Validiert, referenziert, synchron

Bean Validation pro Property, Referenzen per ID geladen und beide Seiten einer JPA-Beziehung konsistent gehalten.

Inhalt

Vom DTO zum Entity-Graphen

Die Grundlagen funktionieren mit einfachen DTOs. Die Domänenseiten ergänzen Schemas, Graphen und Referenzen für JPA-Entities.