Wie man JSON mit Jackson JSON validiert
Ich bin versucht, Jackson JSON einen string und bestimmen, ob es gültig ist JSON. Kann jemand empfehlen, ein code-Beispiel (Java)?
InformationsquelleAutor der Frage NinjaCat | 2012-04-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher sind, was Ihre Verwendung für dies ist, aber dies sollte es tun:
InformationsquelleAutor der Antwort Perception
Obwohl die Wahrnehmung die Antwort wohl passen viele Bedürfnisse, es gibt einige Probleme, die es nicht zu fangen, einer von Ihnen ist der doppelte Schlüssel, betrachten Sie das folgende Beispiel:
Als Ergänzung, können Sie prüfen, ob doppelte Schlüssel mit dem folgenden code:
Wirft es
JsonProcessingException
on duplicate key oder anderen Fehler.InformationsquelleAutor der Antwort holmis83
Ich würde empfehlen, mit Bean-Validation-API getrennt: das heißt, zuerst binden von Daten an ein POJO, dann überprüfen POJO. Daten-format-Niveau-Schemas sind meiner Meinung nach nicht sehr sinnvoll: man in der Regel noch zu validieren höheren Ebene betrifft, und schema-Sprachen sich ungeschickt, insb. diejenigen, verwenden Sie format, wird validiert (XML-Schema und JSON-Schema-beide haben dieses basic-Fehler).
Dies macht den code besser modularen, wiederverwendbaren und trennt Bedenken (Serialisierung, Daten-Validierung).
Aber ich möchte eigentlich einen Schritt weiter gehen, und vorschlagen, Sie haben einen Blick auf DropWizard - es integriert sich Jackson und Validierung-API-Implementierung (aus Hibernate-Projekt).
InformationsquelleAutor der Antwort StaxMan
Mit Jackson, den ich mit dieser Funktion:
InformationsquelleAutor der Antwort madx
Eine andere Möglichkeit wäre die Verwendung von java.util.Optional in Java 8. Dies erlaubt es, ein Objekt zurückgeben, und die Verwendung im aufrufenden code einen mehr funktionalen Ansatz.
Dies ist eine weitere mögliche Implementierung:
Dann können Sie diese Methode verwenden, wie hier:
InformationsquelleAutor der Antwort gil.fernandes