2016-06-03 3 views
-3

Ich erkunde die Jackson-Bibliothek und ihre verwandten Themen. Ich kann nicht verstehen, warum es notwendig ist, Java-Objekte in JSON und umgekehrt umzuwandeln. Das ist wirklich ein Hingucker für mich.Warum konvertiert man Java-Objekte in JSON und umgekehrt?

+0

Sie können JacksonUtils API als Referenz versuchen. –

+0

Fragen Sie im Grunde "warum sollte ich Objekte zu JSON serialisieren" (damit Sie sie an etwas senden können, das JSON versteht) und "warum sollte ich JESON zu Objekten deserialisieren wollen" (damit Sie etwas konsumieren können, das zu Ihnen spricht) in JSON)? Ich meine, es ist irgendwie selbsterklärend, oder? –

+1

Sind Sie sicher, dass Sie wissen, wofür Jackson ist? Sein ** Zweck ** ist es, Java-Objekte zu nehmen und sie in einem speicherbaren Format zu serialisieren (unter * vielen * anderen Formaten, JSON). –

Antwort

1

JSON wird als praktisches "Transfer Encoding" betrachtet. Es ist kompakter als XML und ist für Menschen einfach zu lesen und von Hand zu generieren.

Die meisten Sprachen haben einen ziemlich ausgereiften JSON-Encoder/Decoder, daher ist es möglich, dass Ihre Java-Anwendung eine JSON-Nachricht generiert, die JavaScript in einem Browser lesen kann. Wenn dort ein Fehler irgendwo im Prozess ist, ist es einfach für Sie, den JSON-Text zu lesen und zu verstehen, ob der Fehler in Ihrem Java- oder Javascript-Code ist.

Es ist nicht viel Sinn, Dinge als JSON zu codieren, wenn Sie keine Daten zwischen zwei verschiedenen Systemen übertragen - Sie würden wahrscheinlich kein Java-Objekt in JSON übersetzen, es in eine andere Methode übergeben und dann übersetzen zurück in ein Java-Objekt. Sie würden die Sicherheit des Typs verlieren und eine Menge Arbeit für nichts tun.

1

Serialisierung zu JSON können Sie die Daten in den Objekten von Software enthalten Zugriff nicht in Java wie Javascript-Code geschrieben in einem Web-Client ausgeführt wird usw.

Java nativen (binär) Serialisierung sehr schwierig ist, alles zu lesen anders als Java und es ist nicht einfach, Rückwärtskompatibilität zu behalten, wenn sich Ihre Klassen ändern.

1

JSON wird üblicherweise für serialization verwendet.

Es ist nützlich, ein Java-Objekt immer dann in JSON zu konvertieren, wenn Sie das Java-Objekt nicht einfach dorthin übergeben können, wo Sie es benötigen, beispielsweise um es zu speichern oder HTTP-Anfragen zu stellen. Umgekehrt, wenn Sie es lesen, um es wieder in ein Java-Objekt zu konvertieren.