[Java] [jackson] Entspricht dem nachfolgenden Komma (nachgestellten Komma) beim Parsen von JSON.

Beim Parsen von JSON in Java frage ich mich, ob häufig eine Bibliothek namens jackson verwendet wird. (Abgesehen von der Beschwerde, dass Java keine Standardbibliothek für JSON hat !? Wird nur EE8 unterstützt?)

Ich werde darüber schreiben, wie man diesen Jackson verwendet, um JSON im sogenannten "ketsu kamma" und "end comma" zu analysieren.

Es scheint keine offizielle Veröffentlichung zu sein.

Erstens ist die offizielle Veröffentlichung von Jackson im Moment (22. Juni 2017) die 2.8-Serie, und es scheint, dass die 2.8-Serie das nachfolgende Komma nicht unterstützen kann. Es scheint, dass die Option ALLOW_MISSING_VALUES in dem Maße verwendet werden kann, wie es bedauerlich ist, aber es kann nicht gesagt werden, dass sie dem sogenannten nachgestellten Komma entspricht.

Komma beenden (Ketsukamma, Nachkomma)

ES5 und aktuelles Java (das ich eines Tages vergessen habe) ignorieren jetzt nachgestellte Kommas.

js


let obj = {
        key1: 1,
        key2: 2,
    };
let arr = [
        1,
        2,
    ];

Java


String[] ss = new String[] {
        "a",
        "b",
    };
//・ ・ ・
enum KIND {
    A,
    B,
}

Sie können so etwas schreiben.

(Ich habe nicht untersucht, was mit dem offiziellen JSON los ist)

Wenn beim JSON-Parsing mit normalem Jackson ein nachfolgendes Komma steht, tritt jedoch ein Syntaxfehler auf Eigentlich habe ich versucht herauszufinden, ob es mit Option gehandhabt werden kann.

Jackson Unterstützung

Betrachtet man das unten stehende Problem, so scheint es zu entsprechen.

Add JsonParser.ALLOW_TRAILING_COMMA to work for Arrays and Objects

Es scheint jedoch, dass die offizielle Unterstützung noch nicht erfolgt ist und dass sie mithilfe des Systems 2.9.0.pr realisiert werden kann.

Wenn es sich um einen Maven handelt, schreiben Sie wie folgt.

pom.xml


<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.0.pr4</version>
</dependency>

Nach der Verwendung der 2.9.0-Serie scheint dies unterstützt zu werden, indem ALLOW_TRAILING_COMMA von ObjectMapper wie folgt festgelegt wird.

ObjectMapper mapper = new ObjectMapper().configure(JsonParser.Feature.ALLOW_TRAILING_COMMA, true);
Object obj = mapper.readValue(json, Object.class);

Es kommt nicht viel heraus, selbst wenn ich es mit Ketsukanma google.

Ich persönlich habe es "Ketsukamma" genannt, aber es kommt nicht viel heraus, selbst wenn ich es google. Ist es ein "Schwanzkomma" auf Japanisch? Selbst wenn ich mit "Jackson Tail Comma" gegoogelt habe, war diese Gegenmaßnahme nicht einfach. Als ich schließlich "Jackson Trailing Comma" googelte, kam es heraus.

Wenn Sie nach "Ketsukamma" suchen, gehen Sie zu "Nachkomma"! Das ist diesmal meine persönliche Lektion.

Recommended Posts

[Java] [jackson] Entspricht dem nachfolgenden Komma (nachgestellten Komma) beim Parsen von JSON.
Konvertieren Sie Java Enum Enumeration und JSON von und nach Jackson
[Java] Konvertieren Sie JSON in Java und Java in JSON-How to use GSON and Jackson-
9 Entspricht dem Rückgabewert
[Java] JSON-Kommunikation mit Jackson
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
Fehler beim Erstellen der Java Virtual Machine bei der Installation von Eclipse.
12 Entspricht der while-Anweisung
Eingabe in die Java-Konsole
Ich habe versucht, die Fehlermeldung beim Ausführen von Eclipse (Java) zu übersetzen.
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
[java8] Um die Stream-API zu verstehen
Willkommen im Sumpf der Java-Bibliotheken! !!
Analysieren der COTOHA-API-Syntaxanalyse in Java
Der Weg von JavaScript nach Java
[Java] Geben Sie das Ergebnis von ffprobe -show_streams in JSON aus und ordnen Sie es einem Objekt in Jackson zu
Aktualisieren Sie JAVA auf die neueste Version auf 1.8.0_144 (beim Herunterladen aus dem Internet und Aktualisieren)
Beispielcode zum Serialisieren und Deserialisieren von Java Enum-Enumerationen und JSON in Jackson
[Java small story] Überwachen Sie, wann der Liste ein Wert hinzugefügt wird
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
[Java] Verwendung der File-Klasse
Einführung in Java zum ersten Mal # 2
Java SE8 Silber ~ Der Weg zum Pass ~
Über das Verfahren, damit Java funktioniert
[Java] Verwendung der toString () -Methode
Studieren der Verwendung des Konstruktors (Java)
[Verarbeitung × Java] Verwendung der Schleife
[Java] So stellen Sie die Datums- und Uhrzeit auf 00:00:00 ein
[Java] So erhalten Sie das aktuelle Verzeichnis
[Verarbeitung × Java] Verwendung der Klasse
So erhalten Sie das Datum mit Java
Ausgabe des Buches "Einführung in Java"
[Verarbeitung × Java] Verwendung der Funktion
Vorsichtsmaßnahmen bei der Migration von VB6.0 auf JAVA
Ich ging zum Java Women's Club # 1
[Java] Färben Sie die Standardausgabe an das Terminal
[Java] Verwendung der Calendar-Klasse
So montieren Sie JSON direkt in Jackson
[Förderung des Ruby-Verständnisses (1)] Wenn Sie von Java zu Ruby wechseln, verstehen Sie zuerst den Unterschied.
Stellen Sie sicher, dass der JSON des Schlangenfalls dem Feld des Kamelfalls in Java (JVM) entspricht.