From 2d72868175597458156af1b647912cc4ad371441 Mon Sep 17 00:00:00 2001 From: Kornelius Rohrschneider Date: Mon, 31 May 2021 22:45:59 +0200 Subject: [PATCH] Readme und Versionsnummer aktualisiert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Readme-Datei wurde aktualisiert: Sie wurde mit Informationen über die neue Konfigurationsmöglichkeit (compressedJson) sowie über mehr Möglichkeiten, den Serialiser in Projekte einzubinden, versehen. Zusätzlich wurde die Versionsnummer auf 1.2 aktualisiert. --- README.md | 31 +++++++++++++++++++++++++------ pom.xml | 2 +- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b741a9c..5c977c0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# CircularJsonSerialiser v1.1 +# CircularJsonSerialiser v1.2 ## Allgemein CircularJsonSerialiser ist ein Serialiser für Java mit dem Ziel, dass ohne manuelle Konfiguration alle Klassen- und Objektstrukturen korrekt gespeichert und identisch wiederhergestellt werden.
@@ -10,17 +10,28 @@ Auch die Art primitiver Datentypen wie z. B. Zahlen oder Datenstrukturen wie z. sodass nach dem Deserialisieren keine Cast Exceptions durch falsch wiederhergestellte Objekte zu erwarten sind. ## Benutzen des Serialisers -Um den CircularJsonSerialiser in ein Projekt einzubinden, muss in der pom.xml die folgende Dependency hinzugefügt +Um den CircularJsonSerialiser in ein Maven-Projekt einzubinden, muss in der pom.xml die folgende Dependency hinzugefügt werden: ```xml de.korne127.circularjsonserialiser circular-json-serialiser - 1.1 + 1.2 ``` +Dasselbe gilt äquivalent für ein Gradle-Projekt: + +```gradle +implementation 'de.korne127.circularjsonserialiser:circular-json-serialiser:1.2' +``` + +Falls ein anderes Build-Management-Tool verwendet wird, das ebenfalls auf das zentrale Maven-Repository zugreifen +kann, kann man +[hier](https://search.maven.org/artifact/de.korne127.circularjsonserialiser/circular-json-serialiser/1.2/jar) +den Code nachschauen, um die Dependency entsprechend hinzuzufügen. + Alternativ kann auch die .jar-Datei des neuesten Releases heruntergeladen und manuell dem Projekt in der IDE hinzugefügt werden. @@ -214,6 +225,14 @@ Dies ist die standardmäßige Einstellung. Die Einstellung newVariableHandling lässt sich mit `setNewVariableHandling(NewVariableHandling)` überschreiben. +### compressedJson +Standardmäßig werden die generierten JSON-Strings mit Leerzeichen, Zeilenumbrüchen und Tabulatoren versehen, +um die Objekt- und Array-Strukturen hierarchisch anzuordnen und für den Leser übersichtlich und einfach +lesbar zu machen. Alternativ können aber auch komprimierte JSON-Strings generiert werden, die keine Leerzeichen, +Zeilenumbrüche oder Tabulatoren besitzen. Dies kann z.B. in Situationen mit begrenztem Speicherplatz +vorteilhaft sein.
+Dieses Verhalten kann mit `setCompressedJson(boolean)` angepasst werden. + ## Annotationen und Exceptions Folgende Annotations und Exceptions existieren: @@ -400,9 +419,9 @@ werden. Dies lässt sich in der Konfiguration einstellen. JSON wurde ursprünglich für Javascript entwickelt und ist auf die Bedürfnisse dieser Sprache angepasst. Der JSON-Parser dieses Serialisers weicht in einigen Punkten von dem offiziellen JSON-Standard ab, da er für diesen Serialiser und dessen Aufgaben speziell optimiert ist: -- Chars werden als Zeichen zwischen einem '-Paar kodiert -- '-Zeichen innerhalb Strings werden daher mit einem Backslash (\\) escaped -- Schrägstriche (/) in Strings werden nicht mit einem Backslash escaped +- Chars werden als einzelne Zeichen zwischen einem '-Paar kodiert +- '-Zeichen werden daher mit einem Backslash (\\) escaped +- Schrägstriche (/) werden nicht mit einem Backslash escaped - Die Zahlenwerte NaN, Infinity und -Infinity werden gespeichert und wiederhergestellt - Bytes wird am Ende der Zahl ein B, Shorts ein S, Longs ein L und Floats ein F hinzugefügt diff --git a/pom.xml b/pom.xml index 0efecec..601d292 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ de.korne127.circularjsonserialiser circular-json-serialiser - 1.2-SNAPSHOT + 1.2 1.8