Προγραμματισμός

GSON – Γρήγορος οδηγός για αρχάριους

30 Οκτωβρίου 2021

Πίνακας περιεχομένων

Τι είναι το GSON;

Γκσον , που αναφέρεται επίσης ως Google Gson, είναι μια βιβλιοθήκη που βασίζεται σε Java, χρήσιμη για τη σειριοποίηση και την αποσειροποίηση αντικειμένων Java. Με άλλους όρους, το Gson χρησιμοποιείται για τη μετατροπή αντικειμένων Java σε JSON μορφή. Μετατρέπει επίσης οποιαδήποτε συμβολοσειρά JSON στο αντίστοιχο αντικείμενο Java.

Το Gson επιτρέπει στους χρήστες να προσαρμόζουν τα αντικείμενα Java και υποστηρίζει ευρέως τα Java Generics. Χρησιμοποιεί δύο απλές μεθόδους, την toJson() για τη μετατροπή του αντικειμένου Java σε συμβολοσειρά JSON και την fromJson() για τη μετατροπή της συμβολοσειράς JSON σε αντικείμενο Java. Ένας από τους σημαντικούς στόχους του Gson είναι να τους μετατρέψει Ιάβα αντικείμενα στην αντίστοιχη συμβολοσειρά JSON, τα οποία δεν μπορούν να τροποποιηθούν.

Το Gson περιλαμβάνει σειριοποιητή και αποσειριοποιητή. Ο σειριακός Gson σάς δίνει τη δυνατότητα να μετατρέψετε τη συμβολοσειρά JSON στο αντίστοιχο αντικείμενο Java. Μπορείτε να σειριοποιήσετε πολλά παρόμοια αντικείμενα Java. Από την άλλη πλευρά, το Gson deserializer μετατρέπει το αντικείμενο Java στη χωριστή συμβολοσειρά JSON του.

Χαρακτηριστικά του Gson:

Εδώ είναι μερικά από τα πιο επιθυμητά χαρακτηριστικά του Gson.

  • Το Gson είναι μια βιβλιοθήκη Google ανοιχτού κώδικα, η οποία είναι μια τυποποιημένη βιβλιοθήκη που υποστηρίζεται από γενικά Java.
  • Αυτή η βιβλιοθήκη Google υποστηρίζει επίσης πολύπλοκα αντικείμενα που έχουν ιεραρχίες κληρονομικότητας. Υποστηρίζει επίσης ένθετες κλάσεις.
  • Κατά τη σειριοποίηση και την αποσειριοποίηση αντικειμένων Java, το Gson βοηθά τους χρήστες να δημιουργήσουν έναν προσαρμόσιμο σειριακό και αποσειριοποιητή. Θα επιτρέψει στους χρήστες να έχουν τον έλεγχό τους στη διαδικασία. Επιπλέον, μπορείτε να αποσειροποιήσετε εκείνα τα αντικείμενα Java των οποίων ο κώδικας δεν είναι διαθέσιμος ή προσβάσιμος.
  • Ένα άλλο χαρακτηριστικό του Gson είναι ότι είναι εξαιρετικά προσαρμόσιμο. Οι χρήστες μπορούν να αποφασίσουν εάν πρέπει να εκτυπώσουν ένα σύνθετο ή αναγνώσιμο από τον άνθρωπο έξοδο.
  • Το Gson απαιτεί λιγότερη μνήμη και είναι πολύ γρήγορο και γρήγορο.
  • Εξαρτάται μόνο από το Java Development Kit (JDK) και δεν απαιτεί καμία άλλη εξωτερική βιβλιοθήκη.

Πώς να επεξεργαστείτε το JSON;

Υπάρχουν τρεις διαφορετικοί τρόποι επεξεργασίας JSON που προσφέρονται από τη βιβλιοθήκη Gson, το Streaming API, το Tree Model και το Data Binding. Ας συζητήσουμε κάθε φόρμα επεξεργασίας JSON.

API ροής

Στη μέθοδο ροής API επεξεργασίας JSON, όλο το περιεχόμενο JSON διαβάζεται και γράφεται ως διακριτά συμβάντα. Τα δεδομένα JSON διαβάζονται χρησιμοποιώντας JsonReader και γράφονται με JsonWriter. Το JsonReader και το JsonWriter αντιμετωπίζουν τα δεδομένα JSON ως διακριτικό. Αυτό το διακριτικό αναφέρεται ως JsonToken. Η μέθοδος ροής API για την επεξεργασία JSON είναι η πιο αποτελεσματική και ταχύτερη μέθοδος από τις άλλες δύο. Εκτελεί λειτουργίες ανάγνωσης και εγγραφής γρήγορα και γρήγορα.

Μοντέλο δέντρου

Μια άλλη μέθοδος επεξεργασίας JSON είναι το μοντέλο δέντρου. Στο μοντέλο δέντρου, το περιεχόμενο JSON αναπαρίσταται ως δομή που μοιάζει με δέντρο. Αυτή η δομή που μοιάζει με δέντρο των δεδομένων JSON περιέχει κόμβους JsonObjects. Το μοντέλο δέντρου είναι η πιο ευέλικτη μέθοδος για την επεξεργασία JSON. Είναι το ίδιο με αυτό του αναλυτή DOS της XML.

Δεδομένα Δεδομένων

Η προσέγγιση δέσμευσης δεδομένων για την επεξεργασία JSON χρησιμοποιεί το στοιχείο πρόσβασης ιδιοτήτων. Το εργαλείο πρόσβασης ιδιότητας μετατρέπει το JSON σε Απλό παλιό αντικείμενο Java (POJO) και αντίστροφα. Υπάρχουν προσαρμογείς τύπων δεδομένων στην προσέγγιση σύνδεσης δεδομένων, η οποία εκτελεί Jsonreads και Jsonwrites. Αυτή η μέθοδος δέσμευσης δεδομένων είναι η ίδια με αυτή του αναλυτή JAXB της XML.

Περιβαλλοντική εγκατάσταση του Gson

Εάν το σύστημά σας δεν έχει ρύθμιση τοπικού περιβάλλοντος Java, πρέπει πρώτα να το ρυθμίσετε. Η ρύθμιση του περιβάλλοντος Java στο σύστημά σας είναι πολύ απλή και διαχειρίσιμη. Ακολουθεί ένας πλήρης οδηγός για εσάς σχετικά με τη ρύθμιση ενός τοπικού περιβάλλοντος Java. Ακολουθήστε διαδοχικά τα παρακάτω βήματα για να ρυθμίσετε με επιτυχία ένα τοπικό περιβάλλον Java.

  • Αρχικά, πρέπει να κατεβάσετε το JavaSE από το δικτυακός τόπος . Βεβαιωθείτε ότι έχετε κατεβάσει την έκδοση JavaSE που είναι συμβατή με το λειτουργικό σύστημα του υπολογιστή σας.
  • Κάντε λήψη του αρχείου JavaSE και ακολουθήστε τις οδηγίες που εμφανίζονται κατά την εγκατάσταση. Το JavaSE θα εγκατασταθεί στο σύστημά σας.
  • Μετά από αυτό, έχετε ρυθμίσει τη σωστή διαδρομή των περιβαλλοντικών μεταβλητών.

Βήματα για τη ρύθμιση της διαδρομής για Windows 2000/XP

Μετακινήστε το αρχείο JavaSE που κατεβάσατε από τον παραπάνω ιστότοπο στον κατάλογο της τοπικής μονάδας δίσκου C/Program Files/java/jdk. Στη συνέχεια, δείτε τα παρακάτω βήματα για να ρυθμίσετε τη διαδρομή για περιβαλλοντικές μεταβλητές.

  • Μεταβείτε στο «Ο Υπολογιστής μου» και κάντε δεξί κλικ πάνω του. Θα παρατηρήσετε «Ιδιότητες» και θα κάνετε κλικ σε αυτό.
  • Αργότερα, μεταβείτε στην καρτέλα 'Για προχωρημένους' και κάντε κλικ στο κουμπί 'Περιβαλλοντικές μεταβλητές'.
  • Ελέγξτε το μονοπάτι. Αλλάξτε τη διαδρομή στον κατάλογο jdk, όπου έχουμε κρατήσει το αρχείο JavaSE που κατεβάσατε. Εάν η τρέχουσα διαδρομή είναι 'C:WINDOWSSYSTEM32', αλλάξτε την σε 'C:WINDOWSSYSTEM32;c:Program Filesjavajdkin'.

Βήματα για τη ρύθμιση της διαδρομής για Windows 95 / 98 / ME

Αφού κατεβάσετε το αρχείο JavaSE, μετακινήστε το στον κατάλογο C/Program Files/java/jdk. Για να ρυθμίσετε τη διαδρομή στα Windows 95 / 98 / ME, ακολουθήστε το παρακάτω βήμα:

  • Μεταβείτε στο αρχείο «C:autoexec.bat». Αργότερα, προσθέστε το 'SET PATH=%PATH%;C:Program Filesjavajdkin' στο τέλος του 'C:autoexec.bat'.

Βήματα για τη ρύθμιση του Path για συστήματα Linux, Solaris, FreeBSD και UNIX

Για συστήματα Linux, Solaris, FreeBSD και UNIX, πρέπει να ρυθμίσετε το PATH στο σημείο όπου είναι εγκατεστημένα όλα τα δυαδικά αρχεία Java. Για παράδειγμα, χρησιμοποιήστε το bash το κέλυφός σας. Χρησιμοποιήστε την ακόλουθη γραμμή κώδικα για να ρυθμίσετε τη διαδρομή.

'.bashrc: εξαγωγή PATH=/path/to/java/java:$PATH'.

Πώς να ρυθμίσετε ένα Gson Environment;

Αφού ορίσετε τη διαδρομή Java, ακολουθούν τα υπόλοιπα βήματα για τη ρύθμιση του περιβάλλοντος JSON του συστήματός σας.

  • Πρώτα, πρέπει να κατεβάσετε το αρχείο Gson. Βεβαιωθείτε ότι έχετε κατεβάσει την πιο πρόσφατη έκδοση του αρχείου Gson. Κάντε λήψη του αρχείου Gson ή του αρχείου Gson jar από το gson-2.3.1.jar. Για συστήματα Microsoft Windows, Linux και macOS, το όνομα αρχείου αρχείου JSON είναι «gson-2.3.1.jar.» Μετά τη λήψη του αρχείου gson-2.3.1.jar, αντιγράψτε το στο φάκελο C:>gson.
Λειτουργικό σύστημα Αρχείο Όνομα αρχείου
Microsoft Windowsgson-2.3.1.jar.
Mac OS Xgson-2.3.1.jar.
Linuxgson-2.3.1.jar.
  • Το επόμενο βήμα είναι να ορίσετε τη διαδρομή για τη μεταβλητή περιβάλλοντος GSON_HOME. Πρέπει να διορθώσετε τη διαδρομή της μεταβλητής περιβάλλοντος GSON_HOME στο σημείο όπου βρίσκεται το αρχείο gson-2.3.1.jar στο σύστημα. Για διαφορετικά λειτουργικά συστήματα, η διαδρομή περιβάλλοντος GSON_HOME διαφέρει. Ο παρακάτω πίνακας θα σας καθοδηγήσει στην αλλαγή της τρέχουσας διαδρομής του συστήματός σας στη διαδρομή GSON.
Λειτουργικό σύστημα Αποτέλεσμα
Microsoft WindowsΑλλάξτε τη μεταβλητή περιβάλλοντος από GSON_HOME σε C:gson.
Mac OS XΑκολουθήστε την παρακάτω εντολή για να αλλάξετε τη μεταβλητή περιβάλλοντος στο macOS.exportGSON_HOME = /usr/local/gson
LinuxΑκολουθήστε την παρακάτω εντολή για να αλλάξετε την περιβαλλοντική μεταβλητή στα συστήματα Linux.exportGSON_HOME = /Library/gson
  • Αφού ορίσετε τη διαδρομή JSON για τη μεταβλητή περιβάλλοντος GSON_HOME, πρέπει να ορίσετε το CLASSPATH της μεταβλητής περιβάλλοντος. Διορθώστε τη μεταβλητή περιβάλλοντος CLASSPATH στο σημείο όπου βρίσκεται το αρχείο Gson jar.
Λειτουργικά συστήματα Αποτέλεσμα
Microsoft Windows% CLASSPATH%;% GSON_HOME% gson-2.3.1.jar;.;
Mac OS Xεξαγωγή CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :.
Linuxεξαγωγή CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :.

Παράδειγμα Java Gson

Είδαμε πώς να ρυθμίσετε ένα τοπικό περιβάλλον Java και περιβάλλον Gson στα Windows σας, Linux και λειτουργικά συστήματα macOS. Μόλις ρυθμίσετε όλα όσα απαιτούνται για την εκτέλεση του κώδικα Gson, είστε έτοιμοι να εκτελέσετε οποιαδήποτε εφαρμογή. Μπορείτε να δοκιμάσετε μόνοι σας ένα παράδειγμα στο σύστημά σας.

Για να δοκιμάσετε το παρακάτω παράδειγμα Gson, μπορείτε να χρησιμοποιήσετε οποιοδήποτε από τα δημοφιλή προγράμματα επεξεργασίας Java, όπως Μπλοκ ΣΗΜΕΙΩΣΕΩΝ , Netbeans , ή Εκλειψη . Το Notepad είναι ένας από τους τυπικούς επεξεργαστές κειμένου που χρησιμοποιούνται για τη σύνταξη του κώδικα Java. Εάν διαθέτετε σύστημα Windows, μπορείτε να χρησιμοποιήσετε το πρόγραμμα επεξεργασίας κειμένου Σημειωματάριο για τη σύνταξη του κώδικα Java. Η άλλη πλατφόρμα είναι το Netbeans. Είναι ένα Ολοκληρωμένο Αναπτυξιακό Περιβάλλον (IDE) . Μπορείτε να κάνετε λήψη του Netbeans στα συστήματα Windows, Linux, Solaris και macOS. Ένας άλλος επεξεργαστής κειμένου για Java είναι το Eclipse. Eclipse servers ως πρόγραμμα επεξεργασίας κειμένου για πολλές γλώσσες προγραμματισμού. Μπορείτε να κάνετε λήψη του Eclipse σε συστήματα Windows, Linux και macOS.

Πριν δούμε το παράδειγμα Gson, θυμηθείτε να δημιουργήσετε το αρχείο Java με το όνομα «GsonEmployee», που είναι το όνομα της κλάσης Java. Αργότερα, βεβαιωθείτε ότι το αρχείο Java 'GsonEmployee' υπάρχει στο C:>GSON_WORKSPACE. Αποθηκεύστε το αρχείο σας σε αυτόν τον κατάλογο με την επέκταση .java.

Παράδειγμα:

|_+_|

Παραγωγή:

Ακολουθήστε τα παρακάτω βήματα για την εκτέλεση του παραπάνω κώδικα Gson.

  1. Συμπληρώστε τον παραπάνω κώδικα χρησιμοποιώντας τη λέξη-κλειδί 'javac'.
|_+_|
  1. Μετά τη μεταγλώττιση, εκτελέστε τον κώδικα χρησιμοποιώντας τη λέξη-κλειδί «java».
|_+_|
  1. Το αποτέλεσμα του παραπάνω κωδικού Gson θα εμφανιστεί εάν δεν υπάρχουν σφάλματα στον κωδικό.
|_+_|

Ακολουθεί ένας απλός οδηγός για εσάς σχετικά με τη δημιουργία, τη σειριοποίηση και την αποσειροποίηση του αντικειμένου Gson.

  • Αρχικά, πρέπει να δημιουργήσετε ένα επαναχρησιμοποιήσιμο αντικείμενο Gson χρησιμοποιώντας τη συνάρτηση GsonBuilder().
|_+_|
  • Αφού δημιουργήσετε ένα αντικείμενο Gson, πρέπει να αποσειροποιήσετε τη συμβολοσειρά JSON σε ένα αντικείμενο Java. Για το σκοπό αυτό χρησιμοποιούμε τη συνάρτηση fromJson(). Σε αυτή τη συνάρτηση, πρέπει να περάσετε δύο παραμέτρους, συμβολοσειρά JSON και τύπο αντικειμένου.
|_+_|
  • Αργότερα, πρέπει να σειριοποιήσετε ένα αντικείμενο Java στη συμβολοσειρά JSON χρησιμοποιώντας τη συνάρτηση toJson(). Αυτή η συνάρτηση απαιτεί μόνο μία παράμετρο, ένα αντικείμενο.
|_+_|

Gson - Σειριοποίηση αντικειμένων

Η σειριοποίηση αντικειμένων Gson συνεπάγεται την ανάγνωση αντικειμένου Java σε ένα έγγραφο JSON και στη συνέχεια την ανάγνωση του εγγράφου JSON σε ένα αντικείμενο Java. Ενημερώστε μας πώς πραγματοποιείται η σειριοποίηση αντικειμένων Gson με ένα παράδειγμα. Ας πάρουμε το ίδιο παράδειγμα Υπαλλήλου, όπως συζητήθηκε παραπάνω. Εμφανίσαμε την ταυτότητα, το όνομα, την ηλικία και τη θέση του Υπαλλήλου. Σε αυτό το παράδειγμα, θα δείξουμε το ίδιο αποτέλεσμα και θα εξετάσουμε τη σειριοποίηση αντικειμένων Gson.

Ομοίως, πρέπει να δημιουργήσετε μια τάξη με το όνομα GsonEmployee και να τοποθετήσετε αυτό το αρχείο στο C:>GSON_WORKSPACE. Θυμηθείτε να αποθηκεύσετε το όνομα του αρχείου σας ως GsonEmployee.java.

Παράδειγμα

|_+_|

Παραγωγή:

Για την εκτέλεση του παραπάνω κώδικα, πρέπει να ακολουθήσετε τα παραπάνω βήματα.

  • Για τη μεταγλώττιση του κώδικα, χρησιμοποιήστε τη λέξη-κλειδί «javac».
|_+_|
  • Μόλις μεταγλωττιστεί, εκτελέστε τον κώδικα χρησιμοποιώντας τη λέξη-κλειδί «java».
|_+_|
  • Το αποτέλεσμα αυτού του κωδικού θα είναι το ίδιο με το παραπάνω, εμφανίζοντας το όνομα, την ηλικία και τη θέση του Υπαλλήλου.
|_+_|

Τάξη Gson

Είδαμε πώς να σειριοποιήσουμε το αντικείμενο Gson. Με άλλους όρους, έχουμε διαβάσει το αντικείμενο Java στην ισοδύναμη συμβολοσειρά JSON και τη συμβολοσειρά JSON στο αντίστοιχο αντικείμενο Java. Τώρα, θα προχωρήσουμε προς την τάξη Gson.

Το Gson είναι η κύρια και σημαντική κατηγορία της βιβλιοθήκης Google Gson. Η κλάση Gson είναι υπεύθυνη για τη μετατροπή αντικειμένων Java σε συμβολοσειρά JSON και συμβολοσειρά JSON σε αντίστοιχα αντικείμενα Java. Για την κλάση Gson, πρέπει να χρησιμοποιήσετε πρώτα τη συνάρτηση GsonBuilder() και μετά να χρησιμοποιήσετε τις συναρτήσεις toJson() και fromJson() για την ανάγνωση και τη σύνταξη συμβολοσειρών JSON. Παρακάτω είναι η σύνταξη δήλωσης κλάσης για το com.google.gson.Gson.

Σύνταξη:

|_+_|

Gson Builder

Υπάρχει ένας κατασκευαστής Gson για χρήση στον κώδικα Java. Ορίζεται ως, Gson(). Ο κατασκευαστής Gson() δημιουργεί το αντικείμενο Gson. Καθώς δεν υπάρχουν παράμετροι που μεταβιβάζονται στην Gson(), χρειάζεται προεπιλεγμένη διαμόρφωση.

Μέθοδοι τάξης Gson

Τώρα θα προχωρήσουμε προς τις μεθόδους κλάσης Gson. Παρακάτω είναι μερικές αποτελεσματικές μέθοδοι κλάσης Gson με την περιγραφή τους.

    T fromJson(JsonElement json, Class classOfT):

Η παραπάνω μέθοδος κλάσης Gson χρησιμοποιεί ένα συγκεκριμένο δέντρο ανάλυσης για να αποσειροποιήσει το Json που διαβάζεται από αυτό στον συγκεκριμένο τύπο αντικειμένου.

    T fromJson(JsonElement json, Type typeOfT):

Αυτή η μέθοδος κλάσης Gson χρησιμοποιείται επίσης για τον ίδιο σκοπό με την παραπάνω μέθοδο. Χρησιμοποιεί το Json που διαβάζεται από το συγκεκριμένο δέντρο ανάλυσης και το μετατρέπει στον ισοδύναμο τύπο αντικειμένου του.

    T fromJson(Reader json, Type typeOfT):

Η παραπάνω μέθοδος κλάσης Gson παίρνει την ανάγνωση Json από έναν συγκεκριμένο αναγνώστη και την αποσειριάζει στον συγκεκριμένο τύπο αντικειμένου.

    T fromJson(JsonReader reader, Type typeOfT):

Μπορείτε να χρησιμοποιήσετε την παραπάνω μέθοδο κλάσης Gson για την ανάγνωση της επόμενης συμβολοσειράς ή τιμής JSON από έναν συγκεκριμένο αναγνώστη. Μετά την ανάγνωση, αυτή η μέθοδος μετατρέπει την τιμή JSON στο αντικείμενο typeOfT.

    T fromJson(Reader json, Class classOfT):

Αυτή η μέθοδος κλάσης Gson παίρνει την ανάγνωση JSON από τον συγκεκριμένο αναγνώστη και την αποσυντονίζει στο καθορισμένο αντικείμενο κλάσης.

    TypeAdapter getDelegateAdapter (TypeAdapterFactory skipPast, TypeToken type):

Όταν χρειάζεστε έναν προσαρμογέα εναλλακτικού τύπου για έναν συγκεκριμένο τύπο, μπορείτε να χρησιμοποιήσετε την παραπάνω μέθοδο κλάσης Gson.

    TypeAdapter getAdapter(τύπος κλάσης):

Αυτή η μέθοδος κλάσης Gson χρησιμοποιείται για τη λήψη του προσαρμογέα τύπου για τον συγκεκριμένο τύπο.

    T fromJson(String json, Class classOfT):

Όταν θέλετε να αποσειροποιήσετε οποιαδήποτε συμβολοσειρά JSON σε ένα συγκεκριμένο αντικείμενο κλάσης, μπορείτε να χρησιμοποιήσετε την παραπάνω μέθοδο κλάσης Gson.

    TypeAdapter getAdapter (τύπος TypeToken):

Εάν θέλετε να αποκτήσετε τον προσαρμογέα τύπου για έναν συγκεκριμένο τύπο, αυτή είναι και πάλι μια μέθοδος Gson που πρέπει να χρησιμοποιήσετε.

    T fromJson(String json, Type typeOfT):

Η παραπάνω μέθοδος κλάσης Gson μετατρέπει τη συμβολοσειρά JSON σε αντικείμενο συγκεκριμένου τύπου.

    void toJson (Object src, Appendable writer):

Για τη σειριοποίηση του συγκεκριμένου αντικειμένου Java στην αντίστοιχη αναπαράσταση JSON, χρησιμοποιείται η παραπάνω μέθοδος Gson.

    void toJson (JsonElement jsonElement, συγγραφέας JsonWriter):

Η παραπάνω μέθοδος κλάσης Gson χρησιμοποιείται για την εγγραφή JSON στο πρόγραμμα εγγραφής για το jsonElement.

    String toJson(JsonElement jsonElement):

Τα στοιχεία JSON είναι διατεταγμένα σε δομή που μοιάζει με δέντρο. Όταν θέλετε να αναπαραστήσετε στοιχεία JSON στην ισοδύναμη αναπαράστασή τους, πρέπει να χρησιμοποιήσετε την παραπάνω μέθοδο Gson.

    String toJson(Object src):

Η παραπάνω μέθοδος είναι μια άλλη μέθοδος Gson που χρησιμοποιείται για τη σειριοποίηση ενός συγκεκριμένου αντικειμένου Java στην αντίστοιχη συμβολοσειρά ή αναπαράστασή του JSON.

    void toJson (JsonElement jsonElement, Appendable writer):

Για όλα τα JsonELements σε ένα δέντρο, η παραπάνω μέθοδος κλάσης Gson γράφει το ισοδύναμο JSON.

    void toJson(Object src, Type typeOfSrc, Appendable writer):

Αυτή η μέθοδος Gson χρησιμοποιείται για τη σειριοποίηση του συγκεκριμένου αντικειμένου στην αντίστοιχη συμβολοσειρά JSON. Επίσης σειριοποιεί αντικείμενα γενικού τύπου.

    JsonElement toJsonTree(Object src):

Η παραπάνω μέθοδος Gson μετατρέπει ένα συγκεκριμένο αντικείμενο Java στην αντίστοιχη τιμή JSON. Αντιπροσωπεύει την τιμή JSON στο δέντρο JsonElements.

    String toJson(Object src, Type typeOfSrc):

Και πάλι, η παραπάνω μέθοδος είναι μία μέθοδος στην κλάση Gson, η οποία μετατρέπει τα συγκεκριμένα αντικείμενα Java, συμπεριλαμβανομένων όλων των γενικών τύπων, στις αντίστοιχες τιμές JSON τους.

    void toJson(Object src, Type typeOfSrc, JsonWriter writer):

Αυτή η μέθοδος Gson χρησιμοποιείται για την εγγραφή του src τύπου typeOfSrc στην αναπαράστασή του JSON στον συγγραφέα.

    JsonElement toJsonTree(Object src, Type typeOfSrc):

Η παραπάνω μέθοδος μετατρέπει ένα συγκεκριμένο αντικείμενο Java, συμπεριλαμβανομένων όλων των γενικών τύπων, στη συγκεκριμένη αναπαράσταση JSON. Αντιπροσωπεύει την τιμή JSON στο δέντρο JsonElements.

Η κλάση Gson κληρονομεί όλες τις παραπάνω μεθόδους από την κλάση java.lang.Object. Ας δούμε ένα παράδειγμα εμφάνισης ID υπαλλήλου, Όνομα, Ηλικία και Θέση. Βεβαιωθείτε ότι χρησιμοποιείτε το όνομα της τάξης το ίδιο με αυτό του ονόματος του αρχείου σας. Σκεφτείτε ότι αποθηκεύσαμε το αρχείο Java στο C:/>GSON_WORKSPACE. Στο παράδειγμα που αναφέρεται παρακάτω, το όνομα αρχείου είναι GsonEmployee2.java.

Παράδειγμα:

|_+_|

Παραγωγή:

Αφού γράψετε τον κώδικα Java και τον αποθηκεύσετε με όνομα παρόμοιο με το όνομα της τάξης, πρέπει να τον μεταγλωττίσετε. Χρησιμοποιήστε την παρακάτω εντολή για μεταγλώττιση.

|_+_|

Το αρχείο java, GsonEmployee2.java, γίνεται μεταγλώττιση.

Μετά τη μεταγλώττιση, το έχετε εκτελέσει χρησιμοποιώντας την παρακάτω εντολή.

|_+_|

Η έξοδος θα εμφανιστεί ως εξής:

|_+_|

Δέσμευση δεδομένων στο Gson

Έχουμε δει τρεις διαφορετικές μορφές επεξεργασίας JSON που παρέχονται από την Gson. Μία από τις φόρμες επεξεργασίας JSON στο Gson είναι το Data Binding. Χρησιμοποιώντας τη φόρμα επεξεργασίας δέσμευσης δεδομένων, μπορείτε να μετατρέψετε το JSON σε Απλό Παλαιό Αντικείμενο Java (POJO) και το POJO σε JSON. Η μετατροπή μεταξύ JSON και POJO πραγματοποιείται χρησιμοποιώντας το εργαλείο πρόσβασης ιδιοκτησίας ή τους σχολιασμούς. Οι σχολιασμοί πρόσβασης ιδιοτήτων είναι δύο διαφορετικών τύπων, Primitives Data Binding και Objects Data Binding.

Primitives Data Binding: Αυτό το εργαλείο πρόσβασης ιδιοτήτων ή ο σχολιασμός μετατρέπει το JSON σε αντικείμενο διαφόρων τύπων δεδομένων Java, όπως Χάρτες, Συμβολοσειρές, Δυαδικές, Λίστες και Μηδενικές. Επίσης, μετατρέπει όλους αυτούς τους αναφερόμενους τύπους δεδομένων αντικειμένων σε JSON.

Δέσμευση δεδομένων αντικειμένων: Η σύνδεση δεδομένων αντικειμένων μετατρέπει οποιαδήποτε τιμή JSON σε τύπο JAVA και αντίστροφα.

Η προσέγγιση δέσμευσης δεδομένων της επεξεργασίας JSON είναι παρόμοια με την ανάλυση JAXB XML. Το Gson μπορεί να διαβάσει και να γράψει τιμές JSON σε οποιονδήποτε από τους δύο παραπάνω τύπους σύνδεσης δεδομένων. Ας μελετήσουμε λεπτομερώς κάθε τύπο σύνδεσης δεδομένων παρακάτω.

Primitives Data Binding

Η προσέγγιση Primitives Data Binding για την επεξεργασία JSON μετατρέπει την τιμή JSON σε οποιονδήποτε από τους τύπους δεδομένων Java. Στην προσέγγιση σύνδεσης δεδομένων, η Gson προσφέρει αρκετούς ενσωματωμένους προσαρμογείς. Αυτοί οι προσαρμογείς χρησιμοποιούνται για σειριοποίηση και αποσειριοποίηση πρωτόγονων τύπων δεδομένων. Ας κατανοήσουμε τη μέθοδο δέσμευσης δεδομένων πρωτόγονων του Gson για την επεξεργασία JSON χρησιμοποιώντας ένα παράδειγμα.

Ακολουθεί ένα παράδειγμα που δείχνει τη μετατροπή μεταξύ πρωτόγονων τύπων δεδομένων JSON και Java. Πρέπει να θυμάστε ότι το όνομα του αρχείου σας πρέπει να είναι ίδιο με αυτό του ονόματος της τάξης. Αποθηκεύστε το αρχείο σας στο C:>GSON_WORKSPACE. Στο παρακάτω παράδειγμα, το όνομα αρχείου είναι GsonEmployee3.java.

Παράδειγμα:

|_+_|

Παραγωγή:

Αρχικά, πρέπει να μεταγλωττίσετε τον παραπάνω κώδικα χρησιμοποιώντας την παρακάτω εντολή.

|_+_|

Μετά τη μεταγλώττιση, πρέπει να εκτελέσετε τον κώδικα χρησιμοποιώντας την παρακάτω εντολή.

|_+_|

Θα εμφανιστεί η ακόλουθη έξοδος.

|_+_|

Εδώ, μπορείτε να παρατηρήσετε ξεκάθαρα την ανομοιότητα μεταξύ της εξόδου που παράγεται μετά τη σειριοποίηση και της αποσειριοποίησης χρησιμοποιώντας την προσέγγιση δεσμευτικών δεδομένων primitives.

Δέσμευση δεδομένων αντικειμένων

Τώρα, θα προχωρήσουμε προς την προσέγγιση Objects Data Binding του Gson για την επεξεργασία JSON. Αυτή η προσέγγιση αντιστοιχίζει την τιμή JSON σε οποιονδήποτε τύπο JAVA και οποιοδήποτε αντικείμενο Java στην αντίστοιχη αναπαράσταση JSON. Η διαδικασία δέσμευσης δεδομένων αντικειμένων εξηγείται παρακάτω:

  1. Αρχικά, πρέπει να δημιουργήσετε μια παρουσία Gson χρησιμοποιώντας τη μέθοδο Gson().
|_+_|
  1. Τώρα, μετατρέψτε το αντικείμενο Java στην τιμή JSON. Θεωρήστε το αντικείμενο Java ως emp για την κλάση Employee.
|_+_|
  1. Τέλος, μετατρέψτε την τιμή ή τη συμβολοσειρά JSON στο αντίστοιχο αντικείμενο Java. Θεωρήστε την κλάση Employee και λάβετε ένα αντικείμενο ως emp1.
|_+_|

Χρησιμοποιώντας αυτά τα παραπάνω βήματα, θα εκτελέσουμε ένα απλό παράδειγμα της προσέγγισης δέσμευσης δεδομένων αντικειμένων. Θα χρησιμοποιήσουμε το όνομα της κλάσης ως GsonEmployee4. Ως εκ τούτου, το όνομα αρχείου θα πρέπει να αποθηκευτεί ως GsonEmployee4.java. Σε αυτό το παράδειγμα, θα εμφανίσουμε τις πληροφορίες ενός υπαλλήλου που περιέχουν όνομα, ταυτότητα, θέση, ηλικία και πόλη.

Παράδειγμα:

|_+_|

Παραγωγή:

Τώρα, πρέπει να μεταγλωττίσετε τον κώδικα σας. Ακολουθήστε την παρακάτω εντολή για μεταγλώττιση.

|_+_|

Εκτελέστε τον κωδικό σας χρησιμοποιώντας την εντολή,

|_+_|

Θα λάβετε την ακόλουθη έξοδο:

|_+_|

Εδώ, έχουμε παρατηρήσει την προσέγγιση Data Binding του Gson για την επεξεργασία JSON με παραδείγματα. Ας παρακολουθήσουμε τώρα μια άλλη προσέγγιση επεξεργασίας JSON.

Streaming API στο Gson

Το Streaming API είναι μια άλλη φόρμα Gson για την επεξεργασία JSON. Στην προσέγγιση Streaming API, η τιμή JSON διαβάζεται και γράφεται ως διακριτικό. Αυτή η προσέγγιση θεωρεί κάθε τιμή JSON ως ένα διακριτό συμβάν. Εδώ, το JsonReader διαβάζει τα δεδομένα JSON και το JsonWriter γράφει τα δεδομένα Json ως διακριτικό. Ως εκ τούτου, είναι γνωστό ως JsonToken.

Το Streaming API είναι πολύ γνωστό για την προσεκτική παρακολούθηση κάθε δεδομένων JSON. Σε αυτό το άρθρο, θα δούμε την ανάγνωση των δεδομένων JSON χρησιμοποιώντας τη μέθοδο Streaming API. Η διαδικασία ανάγνωσης για τα δεδομένα JSON πραγματοποιείται ως εξής:

  • Καθώς εστιάζουμε στην ανάγνωση των δεδομένων JSON, θα χρησιμοποιήσουμε τη συνάρτηση JsonReader(). Αρχικά, πρέπει να δημιουργήσετε ένα αντικείμενο της συνάρτησης JsonReader() και να περάσετε αυτό το αντικείμενο στο κείμενο JSON.
|_+_|

Εδώ, το 'jsread' είναι το αντικείμενο της συνάρτησης JsonReader().

  • Αφού δημιουργήσετε ένα αντικείμενο, ξεκινήστε να διαβάζετε το κείμενο JSON με αυτό το αντικείμενο και λάβετε το διακριτικό.
|_+_|
  • Τέλος, πρέπει να ελέγξετε τον τύπο διακριτικού που λαμβάνετε μετά την ανάγνωση του κειμένου JSON.
|_+_|

Θα δούμε ένα παράδειγμα του JsonReader. Πάρτε το όνομα της τάξης ως EmployeeRead. Βεβαιωθείτε ότι έχετε αποθηκεύσει το όνομα του αρχείου ως EmployeeRead.java στο C:

Παράδειγμα:

|_+_|

Παραγωγή:

Για τη μεταγλώττιση του παραπάνω κώδικα, πληκτρολογήστε την εντολή ως εξής:

|_+_|

Μετά τη μεταγλώττιση, εκτελέστε το πρόγραμμα χρησιμοποιώντας την παρακάτω γραμμή κώδικα,

|_+_|

Η έξοδος θα είναι η εξής:

|_+_|

Όλα αυτά αφορούσαν την προσέγγιση Streaming API για την επεξεργασία JSON. Τώρα, ας προχωρήσουμε προς την τελική μορφή, το Tree Model.

Μοντέλο δέντρου στο Gson

Η τελευταία προσέγγιση στην επεξεργασία JSON που προσφέρεται από την Gson είναι το Tree Model. Όπως υποδηλώνει το όνομά του, αντιπροσωπεύει το έγγραφο JSON σε μια δομή που μοιάζει με δέντρο. Αυτή η δομή που μοιάζει με δέντρο περιλαμβάνει κόμβους JsonObject. Το Tree Model είναι παρόμοιο με τον αναλυτή DOM της XML. Ας δούμε τώρα πώς να δημιουργήσετε ένα δέντρο και πώς να διασχίσετε το δέντρο.

Πώς να δημιουργήσετε ένα δέντρο από ένα έγγραφο JSON;

Για τη δημιουργία του δέντρου από το έγγραφο JSON, θα χρησιμοποιήσουμε τη μέθοδο JsonParser(). Η μέθοδος JsonParser() έχει έναν δείκτη μαζί της, ο οποίος διαβάζει το έγγραφο JSON και δείχνει στη ρίζα του δέντρου. Χρησιμοποιώντας έναν μόνο ριζικό κόμβο, μπορούμε να διασχίσουμε ένα ολόκληρο δέντρο. Εδώ είναι ένας μικρός κώδικας που θα σας βοηθήσει να δημιουργήσετε ένα δέντρο από τα δεδομένα JSON.

Ακολουθήστε τα παρακάτω βήματα για τη δημιουργία ενός δέντρου από δεδομένα JSON:

  • Η μέθοδος JsonParser() χρησιμοποιείται για τη δημιουργία ενός δέντρου. Το πρώτο βήμα είναι να δημιουργήσετε την παρουσία ή το αντικείμενο της μεθόδου JsonParser().
|_+_|

Εδώ, το 'jsparser' είναι το αντικείμενο της μεθόδου JsonParser().

  • Το επόμενο βήμα είναι να καθορίσετε τη συμβολοσειρά ή τα δεδομένα JSON που θέλετε να απεικονίσετε σε μια δομή που μοιάζει με δέντρο.
|_+_|
  • Το τελευταίο βήμα είναι να δημιουργήσετε ένα δέντρο από τα παραπάνω καθορισμένα δεδομένα.
|_+_|

Πώς να διασχίσετε ένα δέντρο;

Είδαμε πώς να δημιουργήσουμε ένα δέντρο από δεδομένα JSON. Τώρα, θα παρατηρήσουμε πώς να διασχίσουμε το σχεδιασμένο δέντρο από το έγγραφο JSON. Για να διασχίσετε το δέντρο, πρέπει να δείτε τη διαδρομή κάθε κόμβου από τον συγκεκριμένο κόμβο στον κόμβο ρίζας. Εδώ είναι ένας μικρός κώδικας που σας καθοδηγεί σχετικά με τη διέλευση ενός δέντρου.

|_+_|

Αυτό ήταν ένα πιο απλό παράδειγμα διασχίζοντας το δέντρο. Τώρα, θα έχουμε ένα μόνο παράδειγμα δημιουργίας και διέλευσης του δέντρου από τα δεδομένα jSON. Θα δημιουργήσουμε ένα όνομα κλάσης ως GsonTree. Επομένως, φροντίστε να αποθηκεύσετε το αρχείο με το όνομα, GsonTree.java, στο C:>Gson_WORKSPACE.

Παράδειγμα:

|_+_|

Παραγωγή:

Για τη μεταγλώττιση του παραπάνω προγράμματος, χρησιμοποιήστε την παρακάτω εντολή,

|_+_|

Μετά τη μεταγλώττιση, πρέπει να εκτελέσετε χρησιμοποιώντας τον παρακάτω κώδικα,

|_+_|

Η έξοδος θα εμφανιστεί ως εξής:

|_+_|

Έχουμε δει και τις τρεις φόρμες επεξεργασίας JSON που προσφέρονται από τον Gson με αντίστοιχα παραδείγματα. Ας εκτελέσουμε τώρα μερικά παραδείγματα σειριοποίησης και αποσειροποίησης στο Gson.

Παραδείγματα Serialization και Deserialization στο Gson

Αυτή η ενότητα θα σας παρέχει μερικά εύκολα και απλά παραδείγματα σειριοποίησης και αποσειροποίησης στο Gson. Θα δούμε παραδείγματα Array, Collections και Generic Types.

Παράδειγμα πίνακα στο Gson

Θα παρουσιάσουμε εδώ έναν μικρό κώδικα για την καλύτερη κατανόηση της σειριοποίησης και της αποσειροποίησης πινάκων.

|_+_|

Τώρα, θα εκτελέσουμε έναν πλήρη κώδικα, ο οποίος θα σας κάνει να κατανοήσετε τη σειριοποίηση και την αποσειροποίηση πινάκων. Θα δημιουργήσουμε μια κλάση GsonColor. Βεβαιωθείτε ότι έχετε αποθηκεύσει το αρχείο Java σας, με το όνομα GsonColor.java, στο C:>GSON_WORKSPACE.

Παράδειγμα:

|_+_|

Παραγωγή:

Για τη μεταγλώττιση του παραπάνω κώδικα, πληκτρολογήστε την παρακάτω εντολή,

|_+_|

Εκτελέστε τον παραπάνω κώδικα χρησιμοποιώντας την εντολή ως εξής:

|_+_|

Η έξοδος θα εμφανίζεται ως:

|_+_|

Παράδειγμα γενόσημων στο Gson

Στο Gson, υπάρχει ένα API ανάκλασης Java. Αυτό το API είναι χρήσιμο για τον προσδιορισμό του τύπου αντικειμένου στον οποίο αντιστοιχίζεται η συμβολοσειρά ή η τιμή JSON. Όταν χρησιμοποιείτε γενικά στο Gson, η τιμή JSON που αντιπροσωπεύεται στον αντίστοιχο τύπο αντικειμένου δεν είναι διαθέσιμη στη σειριοποίηση. Επομένως, για να ξεπεραστεί αυτό το ζήτημα στα γενικά Gson, υπάρχει μια κλάση, com.google.gson.reflect.TypeToken. Η κύρια λειτουργία αυτής της κλάσης είναι να κρατά το γενικό αντικείμενο.

Θα έχουμε ένα παράδειγμα τύπου γενικής χρήσης παρακάτω. Ας δημιουργήσουμε μια τάξη, GsonGenerics. Βεβαιωθείτε ότι έχετε αποθηκεύσει το αρχείο προγράμματος Java στο C:>GSON_WORKSPACE με το όνομα GsonGenerics.java

Παράδειγμα

|_+_|

Παραγωγή

Μεταγλωττίστε τον παραπάνω κώδικα χρησιμοποιώντας την εντολή

|_+_|

Εκτελέστε τον κώδικα χρησιμοποιώντας την παρακάτω εντολή

|_+_|

Το παραπάνω πρόγραμμα όταν εκτελεστεί θα δημιουργήσει την ακόλουθη έξοδο.

|_+_|

Παράδειγμα συλλογών στο Gson

Το παράδειγμα συλλογών στο Gson περιλαμβάνει τη μέθοδο ArrayList(). Ακολουθεί ένα μικρό κλείδωμα κωδικών για να κατανοήσετε το παράδειγμα των συλλογών σειριοποίησης και αποσειροποίησης στο Gson.

|_+_|

Αυτός ήταν ο μικρός κωδικός. Τώρα ας δούμε μερικές μεγαλύτερες γραμμές κώδικα που αντιπροσωπεύουν τη σειριοποίηση και την αποσειροποίηση των συλλογών στο Gson. Δημιουργήστε μια κλάση GsonCollection και αποθηκεύστε το αρχείο προγράμματος Java με το όνομα GsonCollection.java. Αποθηκεύστε το αρχείο στο C:>GSON_WORKSPACE.

Παράδειγμα

|_+_|

Παραγωγή

Μεταγλωττίστε το αρχείο χρησιμοποιώντας την παρακάτω εντολή,

|_+_|

Εκτελέστε το παραπάνω αρχείο πληκτρολογώντας και στη συνέχεια την ακόλουθη εντολή στη γραμμή εντολών,

|_+_|

Το παρακάτω είναι το αποτέλεσμα του παραπάνω προγράμματος συλλογών στο Gson.

|_+_|

συμπέρασμα

Το Gson είναι μια εργαλειοθήκη που σας δίνει τη δυνατότητα να μετατρέψετε τη συμβολοσειρά ή την τιμή JSON στο αντίστοιχο αντικείμενο Java και το αντικείμενο Java στην ισοδύναμη συμβολοσειρά ή τιμή JSON. Το Gson προσφέρει τρεις διαφορετικές προσεγγίσεις επεξεργασίας για το JSON.

  • Το Data Binding μετατρέπει την τιμή JSON σε POJO και το POJO στην αντίστοιχη τιμή JSON.
  • Η προσέγγιση Streaming API χρησιμοποιεί JsonReader και JsonWriter για ανάγνωση και εγγραφή δεδομένων JSON ως διακριτικό.
  • Η μέθοδος μοντέλου δέντρου αντιπροσωπεύει το έγγραφο JSON σε μια δομή που μοιάζει με δέντρο.

Είδαμε πώς να ρυθμίσετε τη μεταβλητή περιβάλλοντος για το Gson. Αφού ρυθμίσετε τη μεταβλητή περιβάλλοντος Gson, εκτελείτε τον κώδικα Gson. Στη συνέχεια, μπορείτε να δείτε ένα παράδειγμα σειριοποίησης αντικειμένων. Στη σειριοποίηση αντικειμένων, το έγγραφο JSON διαβάζεται στο αντικείμενο Java και το αντικείμενο Java διαβάζεται στο αντίστοιχο έγγραφο JSON.

Στη συνέχεια, είδαμε το απλό πρόγραμμα Gson και τις μεθόδους κλάσης Gson. Κάθε προσέγγιση επεξεργασίας JSON, Data Binding, Tree Model και Streaming API επεξηγούνται με ένα παράδειγμα το καθένα. Αργότερα, καλύψαμε παραδείγματα σειριοποίησης και αποσειροποίησης στο Gson. Εκτελέσαμε ένα παράδειγμα πίνακα, παράδειγμα γενικού τύπου και παράδειγμα συλλογών.