Programmeerimine

GSON – lühijuhend algajatele

30. oktoober 2021

Sisukord

Mis on GSON?

Gson , mida nimetatakse ka Google Gsoniks, on Java-põhine raamatukogu, mis on kasulik Java-objektide jadamiseks ja deserialiseerimiseks. Teisisõnu kasutatakse Gsoni Java-objektide teisendamiseks JSON vormi. Samuti teisendab see mis tahes JSON-stringi vastavaks Java-objektiks.

Gson võimaldab kasutajatel kohandada Java objekte ja toetab üldiselt Java Genericsi. See kasutab kahte lihtsat meetodit: toJson() Java-objekti teisendamiseks JSON-stringiks ja fromJson() JSON-stringi teisendamiseks Java-objektiks. Üks Gsoni olulisi eesmärke on nende teisendamine Java objektid vastavasse JSON-stringi, mida ei saa muuta.

Gson sisaldab serialiseerijat ja deserialiseerijat. Gson-serialiseerija võimaldab teil teisendada JSON-stringi vastavaks Java-objektiks. Saate järjestada mitu sarnast Java-objekti. Teisest küljest muudab Gson deserializer Java-objekti eraldi JSON-stringiks.

Gsoni omadused:

Siin on mõned Gsoni kõige soovitavamad funktsioonid.

  • Gson on avatud lähtekoodiga Google'i teek, mis on standardiseeritud raamatukogu, mida toetavad Java geneerilised ravimid.
  • See Google'i teek toetab ka keerukaid pärimishierarhiaga objekte. See toetab ka pesastatud klasse.
  • Java-objektide serialiseerimise ja deserialiseerimise ajal aitab Gson kasutajatel luua kohandatavat jada- ja deserialiseerijat. See võimaldab kasutajatel protsessi üle kontrollida. Lisaks saate deserialiseerida need Java-objektid, mille kood pole saadaval või juurdepääsetav.
  • Teine Gsoni omadus on see, et see on väga kohandatav. Kasutajad saavad otsustada, kas nad peavad printima keeruka või inimloetava väljundi.
  • Gson vajab vähem mälu ning on väga kiire ja kiire.
  • See sõltub ainult Java arenduskomplektist (JDK) ega vaja muud välist teeki.

Kuidas JSON-i töödelda?

Gsoni teek, voogesituse API, puumudel ja andmesidumine pakuvad kolme erinevat JSON-i töötlemise viisi. Arutleme iga JSON-i töötlemisvormi üle.

Voogesituse API

JSON-i töötlemise voogesituse API meetodis loetakse ja kirjutatakse kogu JSON-i sisu diskreetsete sündmustena. JSON-i andmeid loetakse JsonReaderi abil ja kirjutatakse JsonWriteri abil. JsonReader ja JsonWriter käsitlevad JSON-andmeid märgina. Seda tunnust nimetatakse JsonTokeniks. Voogesituse API meetod JSON-i töötlemiseks on kõige tõhusam ja kiirem meetod kui ülejäänud kaks. See teeb lugemis- ja kirjutamistoiminguid kiiresti ja kiiresti.

Puu mudel

Teine JSON-i töötlemismeetod on puumudel. Puumudelis on JSON-i sisu kujutatud puutaolise struktuurina. See JSON-andmete puutaoline struktuur sisaldab JsonObjectsi sõlmi. Puumudel on JSON-i töötlemiseks kõige paindlikum meetod. See on sama, mis XML-i DOS-i parser.

Andmete sidumine

Andmete sidumise lähenemisviis JSON-i töötlemiseks kasutab atribuudi pöördujat. Atribuudi accessor muudab JSON-i vorminguks Tavaline vana Java objekt (POJO) ja vastupidi. Andmete sidumise lähenemisviisis on andmetüübi adapterid, mis täidavad Jsonreadsi ja Jsonwritesi. See andmete sidumismeetod on sama, mis XML-i JAXB-parseri oma.

Gsoni keskkonnaseade

Kui teie süsteemil pole kohalikku Java keskkonna seadistust, peate selle esmalt seadistama. Java keskkonna seadistamine teie süsteemis on väga lihtne ja hallatav. Siin on täielik juhend kohaliku Java keskkonna seadistamise kohta. Kohaliku Java keskkonna edukaks seadistamiseks järgige järjestikku alltoodud samme.

  • Esiteks peate saidilt JavaSE alla laadima veebisait . Laadige kindlasti alla JavaSE versioon, mis ühildub teie arvuti operatsioonisüsteemiga.
  • Laadige alla JavaSE-fail ja järgige installimise ajal kuvatavaid juhiseid. JavaSE installitakse teie süsteemi.
  • Pärast seda olete seadistanud keskkonnamuutujate õige tee.

Windows 2000/XP tee seadistamise sammud

Teisaldage ülaltoodud veebisaidilt alla laaditud JavaSE-fail kohaliku draivi C/Program Files/java/jdk kataloogi. Järgmisena vaadake allolevaid samme keskkonnamuutujate tee seadistamiseks.

  • Minge jaotisse 'Minu arvuti' ja paremklõpsake seda. Märkate 'Atribuudid' ja klõpsate sellel.
  • Hiljem minge vahekaardile 'Täpsemalt' ja klõpsake nuppu 'Keskkonnamuutujad'.
  • Kontrollige teed. Muutke tee jdk kataloogi, kus oleme hoidnud allalaaditud JavaSE faili. Kui praegune tee on 'C:WINDOWSSYSTEM32', muutke see väärtuseks 'C:WINDOWSSYSTEM32;c:Program Filesjavajdkin'.

Windows 95 / 98 / ME jaoks tee seadistamise sammud

Pärast JavaSE-faili allalaadimist teisaldage see kataloogi C/Program Files/java/jdk. Tee seadistamiseks opsüsteemis Windows 95 / 98 / ME järgige allolevat sammu:

  • Minge faili 'C:autoexec.bat'. Hiljem lisage faili 'C:autoexec.bat.' lõppu 'SET PATH=%PATH%;C:Program Filesjavajdkin'

Linuxi, Solarise, FreeBSD ja UNIX süsteemide tee seadistamise sammud

Linuxi, Solarise, FreeBSD ja UNIX süsteemide jaoks peate seadistama PATH-i kohta, kuhu on installitud kõik Java binaarfailid. Näiteks kasutage bash your shelli. Tee seadistamiseks kasutage järgmist koodirida.

‘.bashrc: eksport PATH=/tee/java/java:$PATH’.

Kuidas Gsoni keskkonda seadistada?

Kui olete Java tee määranud, on siin ülejäänud sammud süsteemi JSON-keskkonna seadistamiseks.

  • Esiteks peate alla laadima Gsoni arhiivi. Laadige kindlasti alla Gsoni arhiivi uusim versioon. Laadige failist gson-2.3.1.jar alla Gsoni arhiiv või Gsoni jar-fail. Microsoft Windowsi, Linuxi ja macOS-i süsteemide puhul on JSON-i arhiivifaili nimi „gson-2.3.1.jar”. Pärast faili gson-2.3.1.jar allalaadimist kopeerige see kausta C:>gson.
Operatsioonisüsteem Arhiivi faili nimi
Microsoft Windowsgson-2.3.1.jar.
Mac OS Xgson-2.3.1.jar.
Linuxgson-2.3.1.jar.
  • Järgmine samm on GSON_HOME keskkonnamuutuja tee määramine. Peate parandama GSON_HOME keskkonnamuutuja tee kohta, kus süsteemis asub teie fail gson-2.3.1.jar. Erinevate operatsioonisüsteemide puhul on GSON_HOME keskkonnatee erinev. Allolev tabel juhendab teid süsteemi praeguse tee muutmisel GSON-i teeks.
Operatsioonisüsteem Tulemus
Microsoft WindowsMuutke keskkonnamuutuja GSON_HOME väärtuseks C:gson.
Mac OS XKeskkonnamuutuja muutmiseks saidil macOS.exportGSON_HOME = /usr/local/gson järgige allolevat käsku
LinuxJärgige allolevat käsku keskkonnamuutuja muutmiseks Linuxis systems.exportGSON_HOME = /Library/gson
  • Pärast keskkonnamuutuja GSON_HOME JSON-tee määramist peate määrama keskkonnamuutuja CLASSPATH. Parandage keskkonnamuutuja CLASSPATH kohas, kus asub teie Gsoni jar-fail.
Operatsioonisüsteemid Tulemus
Microsoft Windows% CLASSPATH%;% GSON_HOME% gson-2.3.1.jar;.;
Mac OS Xeksport CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :.
Linuxeksport CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :.

Gson Java näide

Oleme näinud, kuidas seadistada Windowsis kohalikku Java keskkonda ja Gsoni keskkonda, Linux ja macOS-i operatsioonisüsteemid. Kui olete kõik Gsoni koodi käivitamiseks vajaliku seadistanud, olete valmis käivitama mis tahes rakendust. Saate oma süsteemis ise proovida ühte näidet.

Alloleva Gsoni näite proovimiseks võite kasutada mõnda populaarset Java-redaktorit, näiteks Märkmik , Netbeans , või Varjutus . Notepad on üks tüüpilisi Java-koodi kirjutamiseks kasutatavaid tekstiredaktoreid. Kui teil on Windowsi süsteem, saate Java-koodi kirjutamiseks kasutada Notepadi tekstiredaktorit. Teine platvorm on Netbeans. See on Integreeritud arenduskeskkond (IDE) . Saate Netbeansi alla laadida oma Windowsi, Linuxi, Solarise ja macOS-i süsteemidesse. Teine Java tekstiredaktor on Eclipse. Eclipse'i serverid mitme programmeerimiskeele tekstiredaktorina. Saate Eclipse'i alla laadida Windowsi, Linuxi ja macOS-i süsteemidesse.

Enne Gsoni näite nägemist ärge unustage luua Java-faili nimega 'GsonEmployee', mis on Java klassi nimi. Hiljem veenduge, et teie Java-fail „GsonEmployee” oleks kaustas C:>GSON_WORKSPACE olemas. Salvestage oma fail sellesse kataloogi .java laiendiga.

Näide:

|_+_|

Väljund:

Ülaltoodud Gsoni koodi käivitamiseks järgige alltoodud samme.

  1. Täitke ülaltoodud kood märksõna 'javac' abil.
|_+_|
  1. Pärast kompileerimist käivitage kood, kasutades märksõna 'java'.
|_+_|
  1. Kui koodis pole vigu, kuvatakse ülaltoodud Gsoni koodi tulemus.
|_+_|

Siin on teile lihtne juhend Gsoni objekti loomise, jada ja deserialiseerimise kohta.

  • Esiteks peate funktsiooni GsonBuilder() abil looma korduvkasutatava Gsoni objekti.
|_+_|
  • Pärast Gson-objekti loomist peate JSON-stringi deserialiseerima Java-objektiks. Selleks kasutame funktsiooni fromJson(). Selles funktsioonis peate edastama kaks parameetrit, JSON-stringi ja objekti tüübi.
|_+_|
  • Hiljem peate funktsiooni toJson() abil Java-objekti JSON-stringiks serialiseerima. See funktsioon nõuab ainult ühte parameetrit, objekti.
|_+_|

Gson – objektide serialiseerimine

Gsoni objektide serialiseerimine tähendab Java-objekti lugemist JSON-dokumenti ja seejärel JSON-dokumendi lugemist Java-objektiks. Andke meile ühe näitega teada, kuidas Gsoni objektide serialiseerimine toimub. Võtame sama töötaja näite, nagu eespool käsitletud. Kuvasime töötaja ID, nime, vanuse ja ametikoha. Selles näites näitame sama tulemust ja vaatame Gsoni objektide serialiseerimist.

Samamoodi peate looma klassi nimega GsonEmployee ja asetama selle faili kausta C:>GSON_WORKSPACE. Ärge unustage salvestada failinime GsonEmployee.java.

Näide

|_+_|

Väljund:

Ülaltoodud koodi käivitamiseks peate järgima ülaltoodud samme.

  • Koodi koostamiseks kasutage märksõna 'javac'.
|_+_|
  • Pärast kompileerimist käivitage kood, kasutades märksõna 'java'.
|_+_|
  • Selle koodi tulemus on sama, mis ülal, kuvades töötaja nime, vanuse ja ametikoha.
|_+_|

Gsoni klass

Oleme näinud, kuidas Gsoni objekti järjestada. Teisisõnu, oleme lugenud Java-objekti selle samaväärseks JSON-stringiks ja JSON-stringi vastavaks Java-objektiks. Nüüd liigume Gsoni klassi poole.

Gson on Google'i Gsoni raamatukogu esmane ja oluline klass. Gsoni klass vastutab Java-objektide teisendamise eest JSON-stringiks ja JSON-stringi vastavateks Java-objektideks. Gson-klassi jaoks peate esmalt kasutama funktsiooni GsonBuilder() ja seejärel kasutama JSON-stringide lugemiseks ja kirjutamiseks funktsioone toJson() ja fromJson(). Allpool on com.google.gson.Gson klassi deklaratsiooni süntaks.

Süntaks:

|_+_|

Gsoni ehitaja

Java koodis on kasutada Gsoni konstruktorit. See on määratletud kui Gson(). Konstruktor Gson() loob Gsoni objekti. Kuna Gson(ile) parameetreid ei edastata, võtab see vaikekonfiguratsiooni.

Gsoni klassi meetodid

Nüüd liigume Gsoni klassi meetodite poole. Allpool on mõned tõhusad Gsoni klassi meetodid koos nende kirjeldusega.

    T fromJson (JsonElement json, Class ClassOfT):

Ülaltoodud Gson-klassi meetod kasutab konkreetset parsipuud, et sellest loetud Json-i deserialiseerida konkreetseks objektitüübiks.

    T fromJson (JsonElement json, TypeOfT):

Seda Gsoni klassi meetodit kasutatakse ka ülaltoodud meetodiga samal eesmärgil. See kasutab Json-i lugemist konkreetsest sõelumispuust ja teisendab selle samaväärseks objektitüübiks.

    T fromJson (Reader Json, TypeOfT):

Ülaltoodud Gson-klassi meetod loeb Jsoni konkreetselt lugejalt ja deserialiseerib selle konkreetseks objektitüübiks.

    T fromJson (JsonReaderi lugeja, tüüp TypeOfT):

Saate kasutada ülaltoodud Gson-klassi meetodit konkreetse lugeja järgmise JSON-stringi või väärtuse lugemiseks. Pärast lugemist teisendab see meetod JSON-i väärtuse typeOfT-objektiks.

    T fromJson (lugeja json, ClassOfT):

See Gson-klassi meetod võtab JSON-i lugemise konkreetsest lugejast ja deserialiseerib selle määratud klassiobjektiks.

    TypeAdapter getDelegateAdapter (TypeAdapterFactory skipPast, TypeTokeni tüüp):

Kui vajate teatud tüübi jaoks alternatiivset tüüpi adapterit, saate kasutada ülaltoodud Gsoni klassi meetodit.

    TüüpAdapter getAdapter (klassi tüüp):

Seda Gsoni klassi meetodit kasutatakse konkreetse tüübi tüübiadapteri hankimiseks.

    T fromJson (String json, Class ClassOfT):

Kui soovite deserialiseerida mis tahes JSON-stringi konkreetseks klassiobjektiks, saate kasutada ülaltoodud Gsoni klassi meetodit.

    TypeAdapter getAdapter(TypeTokeni tüüp):

Kui soovite hankida tüübiadapteri teatud tüübi jaoks, on see taas üks Gsoni meetod, mida kasutada.

    T fromJson (string json, TypeOfT):

Ülaltoodud Gson-klassi meetod teisendab JSON-stringi teatud tüüpi objektiks.

    void toJson (objekti src, lisatav kirjutaja):

Konkreetse Java-objekti serialiseerimiseks vastavasse JSON-i esitusse kasutatakse ülaltoodud Gsoni meetodit.

    tühine Jsonile (JsonElement jsonElement, JsonWriteri kirjutaja):

Ülaltoodud Gson-klassi meetodit kasutatakse JSON-i kirjutamiseks jsonElementi kirjutajale.

    String toJson (JsonElement jsonElement):

JSON-i elemendid on paigutatud puulaadsesse struktuuri. Kui soovite esitada JSON-i elemente nende samaväärses esituses, peate kasutama ülaltoodud Gsoni meetodit.

    String toJson(Object src):

Ülaltoodud meetod on veel üks Gsoni meetod, mida kasutatakse konkreetse Java-objekti serialiseerimiseks vastavaks JSON-stringiks või esituseks.

    tühine toJson (JsonElement jsonElement, lisatav kirjutaja):

Kõigi puu JsonELEmentide jaoks kirjutab ülaltoodud Gson-klassi meetod neile vastava JSON-i.

    void toJson (objekti src, tüüpOfSrc, lisatav kirjutaja):

Seda Gsoni meetodit kasutatakse konkreetse objekti järjestamiseks vastavasse JSON-stringi. Samuti serialiseerib üldist tüüpi objekte.

    JsonElement kuni JsonTree (objekti src):

Ülaltoodud Gsoni meetod teisendab konkreetse Java-objekti selle vastavaks JSON-väärtuseks. See tähistab JSON-i väärtust JsonElementsi puus.

    String toJson (objekti src, tüüpOfSrc):

Jällegi on ülaltoodud meetod üks Gson-klassi meetod, mis teisendab konkreetsed Java-objektid, sealhulgas kõik üldised tüübid, nende vastavateks JSON-väärtusteks.

    void toJson (Object src, TypeOfSrc, JsonWriter writer):

Seda Gsoni meetodit kasutatakse typeOfSrc tüüpi src kirjutamiseks selle JSON-i esitusse kirjutajale.

    JsonElement toJsonTree (objekti src, tüüpOfSrc):

Ülaltoodud meetod teisendab konkreetse Java-objekti, sealhulgas kõik üldised tüübid, konkreetseks JSON-i esituseks. See esindab JSON-i väärtust JsonElementsi puus.

Klass Gson pärib kõik ülaltoodud meetodid klassist java.lang.Object. Vaatame ühte näidet, kus kuvatakse töötaja ID, nimi, vanus ja ametikoht. Veenduge, et kasutate klassinime sama, mis teie faili nimes. Oletame, et salvestasime oma Java-faili aadressile C:/>GSON_WORKSPACE. Allpool mainitud näites on faili nimi GsonEmployee2.java.

Näide:

|_+_|

Väljund:

Pärast Java koodi kirjutamist ja klassinimega sarnase nimega salvestamist peate selle kompileerima. Kasutage kompileerimiseks allolevat käsku.

|_+_|

Java-fail GsonEmployee2.java kompileeritakse.

Pärast kompileerimist käivitasite selle alloleva käsu abil.

|_+_|

Väljund kuvatakse järgmiselt:

|_+_|

Andmete sidumine Gsonis

Oleme näinud kolme erinevat Gsoni pakutavat JSON-i töötlemise vormi. Üks Gsoni JSON-i töötlemisvormidest on andmete sidumine. Andmete sidumise töötlemisvormi abil saate muuta JSON-i tavaliseks vanaks Java-objektiks (POJO) ja POJO-st JSON-iks. JSON-i ja POJO vaheline teisendamine toimub atribuudipääseuri või märkuste abil. Atribuudijuurdepääsumärkmeid on kahte erinevat tüüpi: Primitives Data Binding ja Objects Data Binding.

Primitiivsete andmete sidumine: See atribuutide pöörduja või märkus muudab JSON-i erinevate Java-andmetüüpide objektiks, nagu kaardid, stringid, tõeväärtused, loendid ja null. Samuti teisendab see kõik nimetatud objektide andmetüübid JSON-i.

Objektide andmete sidumine: Objektide andmete sidumine teisendab mis tahes JSON-i väärtuse JAVA-tüübiks ja vastupidi.

JSON-i töötlemise andmete sidumisviis on sarnane XML-i JAXB parsiga. Gson saab lugeda ja kirjutada JSON-i väärtusi mis tahes ülaltoodud kahest andmesidumistüübist. Uurime allpool üksikasjalikult iga andmete sidumise tüüpi.

Primitiivide andmete sidumine

Primitives Data Binding lähenemine JSON-i töötlemiseks teisendab JSON-i väärtuse mis tahes Java andmetüüpideks. Andmete sidumise lähenemisviisis pakub Gson mitmeid sisseehitatud adaptereid. Neid adaptereid kasutatakse primitiivsete andmetüüpide serialiseerimiseks ja deserialiseerimiseks. Mõistame Gsoni primitiivsete andmete sidumise meetodit JSON-i töötlemiseks ühe näite abil.

Allpool on näide JSON-i ja Java primitiivsete andmetüüpide vahelisest teisendamisest. Peate meeles pidama, et teie failinimi peaks olema klassi nimega sama. Salvestage oma fail kausta C:>GSON_WORKSPACE. Allolevas näites on failinimi GsonEmployee3.java.

Näide:

|_+_|

Väljund:

Esiteks peate ülaltoodud koodi alloleva käsu abil kompileerima.

|_+_|

Pärast kompileerimist peate koodi käivitama alloleva käsu abil.

|_+_|

Kuvatakse järgmine väljund.

|_+_|

Siin saate selgelt jälgida primitiivsete andmete sidumise lähenemisviisi kasutades pärast serialiseerimist ja deserialiseerimist genereeritud väljundi erinevust.

Objektide andmete sidumine

Nüüd liigume JSON-i töötlemiseks Gsoni objektide andmete sidumise lähenemisviisi poole. See lähenemisviis vastendab JSON-i väärtuse mis tahes JAVA-tüübiga ja mis tahes Java-objekti vastava JSON-i esitusega. Objektide andmete sidumise protsessi selgitatakse allpool:

  1. Esiteks peate meetodi Gson() abil looma Gsoni eksemplari.
|_+_|
  1. Nüüd teisendage Java-objekt JSON-väärtuseks. Käsitlege Java-objekti emp-na klassi Töötaja jaoks.
|_+_|
  1. Lõpuks teisendage JSON-i väärtus või string vastavaks Java-objektiks. Mõelge klassile Töötaja ja võtke objektiks emp1.
|_+_|

Kasutades neid ülaltoodud samme, teostame ühe lihtsa näite objektide andmete sidumise lähenemisviisist. Kasutame klassi nime GsonEmployee4. Seetõttu tuleks failinimi salvestada nimega GsonEmployee4.java. Selles näites kuvame töötaja teavet, mis sisaldab nime, ID-d, ametikohta, vanust ja linna.

Näide:

|_+_|

Väljund:

Nüüd peate oma koodi kompileerima. Kompileerimiseks järgige allolevat käsku.

|_+_|

Käivitage oma kood käsuga,

|_+_|

Saate järgmise väljundi:

|_+_|

Siin oleme näidetega jälginud Gsoni andmete sidumise lähenemisviisi JSON-i töötlemiseks. Vaatame nüüd teist JSON-i töötlemise lähenemisviisi.

Voogesituse API Gsonis

Streaming API on teine ​​Gsoni vorm JSON-i töötlemiseks. Streaming API lähenemisviisi puhul loetakse ja kirjutatakse JSON-i väärtus märgina. See lähenemisviis käsitleb iga JSON-i väärtust diskreetse sündmusena. Siin loeb JsonReader JSON-andmeid ja JsonWriter kirjutab Json-andmed märgina. Seetõttu on see tuntud kui JsonToken.

Streaming API on väga tuntud kõigi JSON-andmete hoolika jälgimise poolest. Selles artiklis näeme JSON-andmete lugemist voogesituse API meetodi abil. JSON-andmete lugemisprotsess toimub järgmiselt.

  • Kuna keskendume JSON-andmete lugemisele, kasutame funktsiooni JsonReader(). Esiteks peate genereerima funktsiooni JsonReader() objekti ja edastama selle objekti JSON-teksti.
|_+_|

Siin on 'jsread' funktsiooni JsonReader () objekt.

  • Pärast objekti loomist alustage selle objektiga JSON-teksti lugemist ja hankige luba.
|_+_|
  • Lõpuks peate kontrollima märgi tüüpi, mille saate pärast JSON-teksti lugemist.
|_+_|

Näeme ühte JsonReaderi näidet. Võtke klassi nimeks EmployeeRead. Salvestage faili nimi kindlasti kausta C: kui EmployeeRead.java

Näide:

|_+_|

Väljund:

Ülaltoodud koodi koostamiseks tippige käsk järgmiselt:

|_+_|

Pärast kompileerimist käivitage programm, kasutades allolevat koodirida,

|_+_|

Väljund on järgmine:

|_+_|

See kõik puudutas JSON-i töötlemiseks mõeldud voogesituse API lähenemisviisi. Liigume nüüd lõpliku vormi, puumudeli poole.

Puumudel Gsonis

Viimane Gsoni pakutav lähenemisviis JSON-i töötlemisel on puumudel. Nagu nimigi ütleb, esindab see JSON-dokumenti puutaolises struktuuris. See puutaoline struktuur hõlmab JsonObjecti sõlmi. Puumudel sarnaneb XML-i DOM-i parseriga. Vaatame nüüd, kuidas puud luua ja kuidas puu läbida.

Kuidas luua JSON-dokumendist puud?

JSON-dokumendist puu loomiseks kasutame meetodit JsonParser(). JsonParser() meetodil on kursor, mis loeb JSON-dokumenti ja osutab puu juurele. Kasutades ühte juursõlme, saame läbida terve puu. Siin on väike kood, mis aitab teil JSON-andmetest puu luua.

JSON-andmetest puu loomiseks järgige allolevaid samme.

  • Puu loomiseks kasutatakse meetodit JsonParser(). Esimene samm on luua meetodi JsonParser() eksemplar või objekt.
|_+_|

Siin on 'jsparser' meetodi JsonParser() objekt.

  • Järgmine samm on määrata string või JSON-andmed, mida soovite puutaolises struktuuris kujutada.
|_+_|
  • Viimane samm on ülaltoodud andmetest puu loomine.
|_+_|

Kuidas puust läbi sõita?

Oleme näinud, kuidas JSON-andmetest puu luua. Nüüd jälgime, kuidas JSON-dokumendist kavandatud puu läbida. Puu läbimiseks peate nägema iga sõlme teed sellest konkreetsest sõlmest juursõlmeni. Siin on teile väike kood puu läbimise kohta.

|_+_|

See oli selgem näide puu läbimisest. Nüüd on meil jSON-andmetest puu loomiseks ja läbimiseks üks eksemplar. Loome klassi nimeks GsonTree. Seetõttu salvestage fail nimega GsonTree.java kindlasti kausta C:>Gson_WORKSPACE.

Näide:

|_+_|

Väljund:

Ülaltoodud programmi koostamiseks kasutage allolevat käsku,

|_+_|

Pärast kompileerimist peate käivitama alloleva koodi abil,

|_+_|

Väljund kuvatakse järgmiselt:

|_+_|

Oleme näinud kõiki kolme Gsoni pakutavat JSON-i töötlemisvormi koos vastavate näidetega. Teeme nüüd Gsonis mõned serialiseerimise ja deserialiseerimise näited.

Serialiseerimise ja deserialiseerimise näited Gsonis

Sellest jaotisest leiate mõned lihtsad ja arusaadavad serialiseerimise ja deserialiseerimise näited Gsonis. Vaatame massiivi, kogude ja üldiste tüüpide näiteid.

Massiivi näide Gsonis

Esitame siin väikese koodi massiivi serialiseerimise ja deserialiseerimise paremaks mõistmiseks.

|_+_|

Nüüd käivitame täieliku koodi, mis aitab teil mõista massiivi serialiseerimist ja deserialiseerimist. Loome klassi GsonColor. Salvestage oma Java-fail nimega GsonColor.java kausta C:>GSON_WORKSPACE.

Näide:

|_+_|

Väljund:

Ülaltoodud koodi koostamiseks tippige allolev käsk,

|_+_|

Käivitage ülaltoodud kood järgmise käsuga,

|_+_|

Väljund kuvatakse järgmiselt:

|_+_|

Generics näide Gsonis

Gsonis on Java peegelduse API. See API on kasulik objektitüübi tuvastamiseks, millega JSON-string või väärtus on vastendatud. Kui kasutate Gsonis üldisi, pole vastavas objektitüübis esitatud JSON-väärtus jadavormingus saadaval. Seetõttu on Gsoni geneeriliste ravimite selle probleemi lahendamiseks olemas klass com.google.gson.reflect.TypeToken. Selle klassi peamine ülesanne on hoida üldist objekti.

Allpool on toodud üks üldkasutatavate ravimite tüübi näide. Loome klassi, GsonGenerics. Salvestage Java programmifail kindlasti kausta C:>GSON_WORKSPACE nimega GsonGenerics.java

Näide

|_+_|

Väljund

Kompileerige ülaltoodud kood käsu abil

|_+_|

Käivitage kood alloleva käsu abil

|_+_|

Ülaltoodud programm genereerib käivitamisel järgmise väljundi.

|_+_|

Kogude näide Gsonis

Gsoni kogude näide sisaldab meetodit ArrayList(). Siin on väike koodilukk, mis aitab teil mõista Gsoni serialiseerimise ja deserialiseerimise kogude näidet.

|_+_|

See oli väike kood. Vaatame nüüd mõnda suuremat koodirida, mis esindavad Gsoni kogude serialiseerimist ja deserialiseerimist. Looge klass GsonCollection ja salvestage Java programmifail nimega GsonCollection.java. Salvestage fail kausta C:>GSON_WORKSPACE.

Näide

|_+_|

Väljund

Kompileerige fail alloleva käsu abil,

|_+_|

Käivitage ülaltoodud fail, tippides seejärel käsureale järgmise käsu,

|_+_|

Järgmine on ülaltoodud Gsoni kogumisprogrammi tulemus.

|_+_|

Järeldus

Gson on tööriistakomplekt, mis võimaldab teil teisendada JSON-i stringi või väärtuse vastavaks Java-objektiks ja Java-objekti samaväärseks JSON-stringiks või -väärtuseks. Gson pakub JSON-i jaoks kolme erinevat töötlemisviisi.

  • Data Binding muudab JSON-i väärtuse POJO-ks ja POJO vastavaks JSON-väärtuseks.
  • Streaming API lähenemisviis kasutab JSON-andmete lugemiseks ja kirjutamiseks märgina JsonReaderit ja JsonWriterit.
  • Puumudeli meetod esitab JSON-dokumendi puulaadsesse struktuuri.

Oleme näinud, kuidas Gsoni jaoks keskkonnamuutujat seadistada. Pärast Gsoni keskkonnamuutuja seadistamist käivitate Gsoni koodi. Järgmisena näete objektide serialiseerimise näidet. Objektide serialiseerimisel loetakse JSON-dokument Java-objektiks ja Java-objekt selle vastavasse JSON-dokumenti.

Järgmisena oleme näinud lihtsat Gsoni programmi ja Gsoni klassi meetodeid. Iga JSON-i töötlemisviisi, andmete sidumist, puumudelit ja voogesituse API-t selgitatakse ühe näitega. Hiljem oleme käsitlenud serialiseerimise ja deserialiseerimise näiteid Gsonis. Käitasime massiivi näite, üldise tüübi näite ja kogumi näite.