Sisällysluettelo
- Mikä on GSON?
- Gsonin ominaisuudet:
- Kuinka käsitellä JSON?
- Gsonin ympäristöasetukset
- Gson Java esimerkki
- Gson - objektien serialisointi
- Gson luokka
- Tietojen sidonta Gsonissa
- Streaming API Gsonissa
- Puumalli Gsonissa
- Serialisointi- ja deserialisointiesimerkit Gsonissa
- Johtopäätös
- Suositellut artikkelit
Mikä on GSON?
Gson , jota kutsutaan myös nimellä Google Gson, on Java-pohjainen kirjasto, joka on hyödyllinen Java-objektien sarjoitukseen ja sarjoitukseen. Toisin sanoen Gsonia käytetään Java-objektien muuntamiseen JSON muodossa. Se myös muuntaa minkä tahansa JSON-merkkijonon vastaavaksi Java-objektiksi.
Gsonin avulla käyttäjät voivat mukauttaa Java-objekteja ja tukee laajasti Java Genericsiä. Se käyttää kahta suoraviivaista menetelmää, toJson() Java-objektin muuntamiseen JSON-merkkijonoksi ja fromJson() JSON-merkkijonon muuntamiseen Java-objektiksi. Yksi Gsonin merkittävistä tavoitteista on muuttaa ne Java objektit vastaavaan JSON-merkkijonoon, joita ei voi muokata.
Gson sisältää serialisaattorin ja deserialisaattorin. Gson-serialisaattorin avulla voit muuntaa JSON-merkkijonon vastaavaksi Java-objektiksi. Voit sarjoittaa useita samanlaisia Java-objekteja. Toisaalta Gson deserializer muuntaa Java-objektin erilliseksi JSON-merkkijonoksi.
Gsonin ominaisuudet:
Tässä on joitain Gsonin halutuimpia ominaisuuksia.
- Gson on avoimen lähdekoodin Google-kirjasto, joka on Java geneeristen ohjelmien tukema standardoitu kirjasto.
- Tämä Google-kirjasto tukee myös monimutkaisia objekteja, joilla on perintöhierarkia. Se tukee myös sisäkkäisiä luokkia.
- Java-objektien sarjoituksessa ja sarjoituksessa Gson auttaa käyttäjiä luomaan mukautettavan sarjoittajan ja sarjoittajan. Sen avulla käyttäjät voivat hallita prosessia. Lisäksi voit sarjoittaa ne Java-objektit, joiden koodi ei ole saatavilla tai käytettävissä.
- Toinen Gsonin ominaisuus on, että se on hyvin muokattavissa. Käyttäjät voivat päättää, haluavatko he tulostaa monimutkaisen vai ihmisen luettavan tulosteen.
- Gson vaatii vähemmän muistia ja on erittäin nopea ja nopea.
- Se riippuu vain Java Development Kitistä (JDK) eikä vaadi muita ulkoisia kirjastoja.
Kuinka käsitellä JSON?
Gson-kirjasto tarjoaa kolme erilaista JSON-prosessointitapaa, Streaming API, Tree Model ja Data Binding. Keskustellaan jokaisesta JSON-käsittelymuodosta.
Streaming API
JSON-käsittelyn streaming API -menetelmässä kaikki JSON-sisältö luetaan ja kirjoitetaan erillisinä tapahtumina. JSON-tiedot luetaan JsonReaderin avulla ja kirjoitetaan JsonWriterin avulla. JsonReader ja JsonWriter käsittelevät JSON-tietoja tunnuksena. Tätä merkkiä kutsutaan JsonTokeniksi. JSON-käsittelyn streaming API -menetelmä on tehokkain ja nopeampi menetelmä kuin kaksi muuta. Se suorittaa luku- ja kirjoitustoiminnot nopeasti ja nopeasti.
Puu malli
Toinen JSON-käsittelymenetelmä on puumalli. Puumallissa JSON-sisältö esitetään puumaisena rakenteena. Tämä JSON-tietojen puumainen rakenne sisältää JsonObjects-solmuja. Puumalli on joustavin menetelmä JSON-käsittelyyn. Se on sama kuin XML:n DOS-jäsennys.
Tietojen sidonta
JSON-käsittelyn tiedonsidontamenetelmä käyttää ominaisuuden aksessoria. Ominaisuuden aksessori muuttaa JSONin muotoon Pelkkä vanha Java-objekti (POJO) ja päinvastoin. Tiedonsidontamenetelmässä on tietotyyppisovittimia, jotka suorittavat Jsonreadsin ja Jsonwritesin. Tämä tiedonsidontamenetelmä on sama kuin XML:n JAXB-jäsennin.
Gsonin ympäristöasetukset
Jos järjestelmässäsi ei ole paikallista Java-ympäristöä, sinun on ensin määritettävä se. Java-ympäristön määrittäminen järjestelmääsi on erittäin yksinkertaista ja hallittavissa. Tässä on täydellinen opas paikallisen Java-ympäristön määrittämiseen. Noudata peräkkäin alla lueteltuja vaiheita paikallisen Java-ympäristön onnistumiseksi.
- Ensinnäkin sinun on ladattava JavaSE osoitteesta verkkosivusto . Varmista, että lataat JavaSE-version, joka on yhteensopiva tietokoneesi käyttöjärjestelmän kanssa.
- Lataa JavaSE-tiedosto ja noudata asennuksen aikana näkyviä ohjeita. JavaSE asennetaan järjestelmääsi.
- Sen jälkeen olet määrittänyt ympäristömuuttujien oikean polun.
Polun määrittäminen Windows 2000/XP:lle
Siirrä yllä olevasta verkkosivustosta lataamasi JavaSE-tiedosto paikalliseen asemaan C/Program Files/java/jdk. Katso seuraavaksi alla olevat vaiheet ympäristömuuttujien polun määrittämiseksi.
- Siirry kohtaan 'Oma tietokone' ja napsauta sitä hiiren kakkospainikkeella. Huomaat 'Ominaisuudet' ja napsautat sitä.
- Siirry myöhemmin 'Lisäasetukset'-välilehteen ja napsauta 'Ympäristömuuttujat' -painiketta.
- Tarkista polku. Muuta polku jdk-hakemistoon, jossa olemme säilyttäneet ladatun JavaSE-tiedoston. Jos nykyinen polku on C:WINDOWSSYSTEM32, muuta se muotoon C:WINDOWSSYSTEM32;c:Program Filesjavajdkin.
Polun määrittäminen Windows 95 / 98 / ME:lle
Kun olet ladannut JavaSE-tiedoston, siirrä se C/Program Files/java/jdk-hakemistoon. Määritä polku Windows 95 / 98 / ME:ssä noudattamalla alla olevaa vaihetta:
- Siirry tiedostoon C:autoexec.bat. Lisää myöhemmin 'SET PATH=%PATH%;C:Program Filesjavajdkin' tiedoston 'C:autoexec.bat' loppuun.
Polun määrittäminen Linux-, Solaris-, FreeBSD- ja UNIX-järjestelmille
Linux-, Solaris-, FreeBSD- ja UNIX-järjestelmissä sinun on asetettava PATH paikkaan, johon kaikki Java-binaarit on asennettu. Käytä esimerkiksi bash your shell. Käytä seuraavaa koodiriviä polun määrittämiseen.
'.bashrc: vie PATH=/polku/java/java:$PATH'.
Kuinka perustaa Gson-ympäristö?
Kun olet määrittänyt Java-polun, tässä on jäljellä olevat vaiheet järjestelmän JSON-ympäristön määrittämiseksi.
- Ensinnäkin sinun on ladattava Gson-arkisto. Varmista, että lataat Gson-arkiston uusimman version. Lataa Gson-arkisto tai Gson-jar-tiedosto tiedostosta gson-2.3.1.jar. Microsoft Windows-, Linux- ja macOS-järjestelmissä JSON-arkistotiedoston nimi on 'gson-2.3.1.jar'. Kun olet ladannut gson-2.3.1.jar-tiedoston, kopioi se C:>gson-kansioon.
Käyttöjärjestelmä | Arkistotiedoston nimi |
---|---|
Microsoft Windows | gson-2.3.1.jar. |
Mac-käyttöjärjestelmän kymmenes versio | gson-2.3.1.jar. |
Linux | gson-2.3.1.jar. |
- Seuraava vaihe on määrittää polku GSON_HOME-ympäristömuuttujalle. Sinun on korjattava GSON_HOME-ympäristömuuttujan polku paikkaan, jossa gson-2.3.1.jar-tiedostosi sijaitsee järjestelmässä. Eri käyttöjärjestelmissä GSON_HOME-ympäristöpolku on erilainen. Alla oleva taulukko opastaa sinua vaihtamaan järjestelmäsi nykyisen polun GSON-poluksi.
Käyttöjärjestelmä | Tulos |
---|---|
Microsoft Windows | Muuta ympäristömuuttuja GSON_HOME arvoksi C:gson. |
Mac-käyttöjärjestelmän kymmenes versio | Muuta ympäristömuuttuja macOS.exportGSON_HOME = /usr/local/gson noudattamalla alla olevaa komentoa |
Linux | Muuta ympäristömuuttujaa Linux-järjestelmissä noudattamalla alla olevaa komentoa.exportGSON_HOME = /Library/gson |
- Kun olet asettanut JSON-polun GSON_HOME-ympäristömuuttujalle, sinun on asetettava ympäristömuuttujan CLASSPATH. Korjaa CLASSPATH-ympäristömuuttuja paikkaan, jossa Gson jar -tiedostosi sijaitsee.
Käyttöjärjestelmät | Tulos |
Microsoft Windows | % CLASSPATH%;% GSON_HOME% gson-2.3.1.jar;.; |
Mac-käyttöjärjestelmän kymmenes versio | vienti CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :. |
Linux | vienti CLASSPATH = $ CLASSPATH: $ GSON_HOME / gson-2.3.1.jar :. |
Gson Java esimerkki
Olemme nähneet kuinka paikallinen Java- ja Gson-ympäristö määritetään Windows-käyttöjärjestelmääsi, Linux , ja macOS-käyttöjärjestelmät. Kun olet määrittänyt kaiken tarvittavan Gson-koodin suorittamiseen, olet valmis suorittamaan minkä tahansa sovelluksen. Voit kokeilla yhtä esimerkkiä itse järjestelmässäsi.
Voit kokeilla alla olevaa Gson-esimerkkiä käyttämällä mitä tahansa suosituista Java-editoreista, kuten Muistilehtiö , Netbeans , tai Pimennys . Muistio on yksi tyypillisistä tekstieditoreista, joita käytetään Java-koodin kirjoittamiseen. Jos sinulla on Windows-järjestelmä, voit käyttää Muistio-tekstieditoria Java-koodin kirjoittamiseen. Toinen alusta on Netbeans. Se on Integrated Development Environment (IDE) . Voit ladata Netbeansin Windows-, Linux-, Solaris- ja macOS-järjestelmille. Toinen Java-tekstieditori on Eclipse. Eclipse-palvelimet tekstieditorina useille ohjelmointikielille. Voit ladata Eclipsen Windows-, Linux- ja macOS-järjestelmiin.
Ennen kuin näemme Gson-esimerkin, muista luoda Java-tiedosto nimellä 'GsonEmployee', joka on Java-luokan nimi. Varmista myöhemmin, että 'GsonEmployee' Java-tiedostosi on C:>GSON_WORKSPACE-tilassa. Tallenna tiedosto tähän hakemistoon .java-tunnisteella.
Esimerkki:
|_+_|Lähtö:
Suorita yllä oleva Gson-koodi alla annettujen ohjeiden mukaan.
- Täydennä yllä oleva koodi käyttämällä avainsanaa 'javac'.
- Kääntämisen jälkeen suorita koodi käyttämällä 'java'-avainsanaa.
- Yllä olevan Gson-koodin tulos näytetään, jos koodissa ei ole virheitä.
Tässä on yksinkertainen opas Gson-objektin luomiseen, sarjoittamiseen ja sarjoitukseen.
- Ensinnäkin sinun on luotava uudelleen käytettävä Gson-objekti GsonBuilder()-funktiolla.
- Kun olet luonut Gson-objektin, sinun on sarjoitettava JSON-merkkijono Java-objektiksi. Tätä tarkoitusta varten käytämme fromJson()-funktiota. Tässä funktiossa sinun on välitettävä kaksi parametria, JSON-merkkijono ja objektityyppi.
- Myöhemmin sinun on sarjoitettava Java-objekti JSON-merkkijonoon käyttämällä toJson()-funktiota. Tämä toiminto vaatii vain yhden parametrin, objektin.
Gson - Objektien serialisointi
Gson-objektien serialisointi tarkoittaa Java-objektin lukemista JSON-dokumentiksi ja sitten JSON-dokumentin lukemista Java-objektiksi. Kerro meille, kuinka Gson-objektien serialisointi tapahtuu yhdellä esimerkillä. Otetaan sama esimerkki työntekijästä, kuten edellä käsiteltiin. Näytämme työntekijän tunnuksen, nimen, iän ja aseman. Tässä esimerkissä näytämme saman tuloksen ja tarkastelemme Gson-objektien serialisointia.
Vastaavasti sinun on luotava luokka nimeltä GsonEmployee ja asetettava tämä tiedosto kansioon C:>GSON_WORKSPACE. Muista tallentaa tiedostonimi nimellä GsonEmployee.java.
Esimerkki
|_+_|Lähtö:
Suorittaaksesi yllä olevan koodin, sinun on noudatettava yllä määritettyjä vaiheita.
- Käytä koodin kääntämiseen javac-avainsanaa.
- Kun koodi on käännetty, suorita koodi käyttämällä 'java'-avainsanaa.
- Tämän koodin tulos on sama kuin yllä oleva, ja siinä näkyy työntekijän nimi, ikä ja asema.
Gson luokka
Olemme nähneet kuinka Gson-objekti sarjoitetaan. Toisin sanoen olemme lukeneet Java-objektin vastaavaksi JSON-merkkijonokseen ja JSON-merkkijonon vastaavaksi Java-objektiksi. Nyt siirrymme kohti Gson-luokkaa.
Gson on Google Gson -kirjaston ensisijainen ja merkittävä luokka. Gson-luokka on vastuussa Java-objektien muuntamisesta JSON-merkkijonoksi ja JSON-merkkijonosta vastaaviksi Java-objekteiksi. Gson-luokassa sinun on käytettävä ensin GsonBuilder()-funktiota ja sitten toJson()- ja fromJson()-funktioita JSON-merkkijonojen lukemiseen ja kirjoittamiseen. Alla on luokkailmoituksen syntaksi kohteelle com.google.gson.Gson.
Syntaksi:
|_+_|Gson Builder
Java-koodissa on käytettävä Gson-konstruktoria. Se määritellään nimellä Gson(). Gson()-konstruktori luo Gson-objektin. Koska Gson(:lle) ei välitetä parametreja, se ottaa oletusasetukset.
Gson-luokan menetelmät
Nyt siirrytään kohti Gson-luokan menetelmiä. Alla on joitain tehokkaita Gson-luokan menetelmiä kuvauksineen.
- Ensinnäkin sinun on luotava Gson-ilmentymä käyttämällä Gson()-menetelmää.
- Muunna nyt Java-objekti JSON-arvoksi. Harkitse Java-objektia emp:nä luokassa Työntekijä.
- Muunna lopuksi JSON-arvo tai merkkijono vastaavaksi Java-objektiksi. Tarkastellaan luokkaa Työntekijä ja ota objekti nimellä emp1.
- Kun keskitymme JSON-tietojen lukemiseen, käytämme JsonReader()-funktiota. Ensinnäkin sinun on luotava JsonReader()-funktion objekti ja välitettävä tämä objekti JSON-tekstiin.
- Kun olet luonut objektin, ala lukea JSON-tekstiä kyseisellä objektilla ja hanki merkki.
- Lopuksi sinun on tarkistettava merkkityyppi, jonka saat JSON-tekstin lukemisen jälkeen.
- JsonParser()-menetelmää käytetään puun luomiseen. Ensimmäinen vaihe on tehdä JsonParser()-metodista ilmentymä tai objekti.
- Seuraava vaihe on määrittää merkkijono tai JSON-data, jonka haluat kuvata puumaisessa rakenteessa.
- Viimeinen vaihe on puun luominen edellä mainituista tiedoista.
- Data Binding muuttaa JSON-arvon POJO:ksi ja POJO vastaavaksi JSON-arvoksi.
- Streaming API -lähestymistapa käyttää JsonReaderia ja JsonWriteriä JSON-tietojen lukemiseen ja kirjoittamiseen tunnuksena.
- Puumallimenetelmä edustaa JSON-dokumenttia puun kaltaiseksi rakenteeksi.
Yllä oleva Gson-luokkamenetelmä käyttää tiettyä jäsennyspuuta deserialoimaan siitä luetun Jsonin tietyksi objektityypille.
Tätä Gson-luokan menetelmää käytetään myös samaan tarkoitukseen kuin yllä olevaa menetelmää. Se käyttää Json-lukua tietystä jäsennyspuusta ja muuntaa sen vastaavaksi objektityypille.
Yllä oleva Gson-luokan menetelmä ottaa Jsonin luettavan tietystä lukijasta ja sarjoittaa sen tiettyyn objektityyppiin.
Voit käyttää yllä olevaa Gson-luokkamenetelmää seuraavan JSON-merkkijonon tai arvon lukemiseen tietystä lukijasta. Lukemisen jälkeen tämä menetelmä muuttaa JSON-arvon typeOfT-objektiksi.
Tämä Gson-luokkamenetelmä ottaa JSON-lukeman tietystä lukijasta ja sarjoittaa sen määritetyksi luokkaobjektiksi.
Kun tarvitset vaihtoehtoisen tyyppisen sovittimen tietylle tyypille, voit käyttää yllä olevaa Gson-luokkamenetelmää.
Tätä Gson-luokan menetelmää käytetään tyyppisovittimen hankkimiseen tietylle tyypille.
Kun haluat deserialisoida minkä tahansa JSON-merkkijonon tietyksi luokkaobjektiksi, voit käyttää yllä olevaa Gson-luokkamenetelmää.
Jos haluat saada tyyppisovittimen tietylle tyypille, tämä on jälleen yksi Gson-menetelmä käytettäväksi.
Yllä oleva Gson-luokan menetelmä muuntaa JSON-merkkijonon tietyn tyyppiseksi objektiksi.
Tietyn Java-objektin sarjoittamiseksi vastaavaan JSON-esitykseen käytetään yllä olevaa Gson-menetelmää.
Yllä olevaa Gson-luokan menetelmää käytetään JSONin kirjoittamiseen jsonElementin kirjoittajalle.
JSON-elementit on järjestetty puumaiseen rakenteeseen. Kun haluat esittää JSON-elementtejä vastaavissa esityksissä, sinun on käytettävä yllä olevaa Gson-menetelmää.
Yllä oleva menetelmä on toinen Gson-menetelmä, jota käytetään tietyn Java-objektin sarjoittamiseen vastaavaan JSON-merkkijonoon tai -esitykseen.
Kaikille puun JsonELementeille yllä oleva Gson-luokan menetelmä kirjoittaa niiden vastaavan JSONin.
Tätä Gson-menetelmää käytetään tietyn objektin sarjoittamiseen vastaavaan JSON-merkkijonoon. Se myös sarjoittaa yleistyyppiset objektit.
Yllä oleva Gson-menetelmä muuntaa tietyn Java-objektin vastaavaksi JSON-arvoksi. Se edustaa JSON-arvoa JsonElements-puussa.
Jälleen yllä oleva menetelmä on yksi Gson-luokan menetelmä, joka muuntaa tietyt Java-objektit, mukaan lukien kaikki yleiset tyypit, vastaaviksi JSON-arvoiksi.
Tätä Gson-menetelmää käytetään typeOfSrc-tyypin src:n kirjoittamiseen sen JSON-esitykseen kirjoittajalle.
Yllä oleva menetelmä muuntaa tietyn Java-objektin, mukaan lukien kaikki yleiset tyypit, tiettyyn JSON-esitykseen. Se edustaa JSON-arvoa JsonElements-puussa.
Gson-luokka perii kaikki yllä olevat menetelmät java.lang.Object-luokasta. Katsotaanpa esimerkkinä työntekijän tunnus, nimi, ikä ja asema. Varmista, että käytät samaa luokan nimeä kuin tiedostosi nimi. Oletetaan, että olemme tallentaneet Java-tiedostomme osoitteeseen C:/>GSON_WORKSPACE. Alla mainitussa esimerkissä tiedoston nimi on GsonEmployee2.java.
Esimerkki:
|_+_|Lähtö:
Kun olet kirjoittanut Java-koodin ja tallentanut sen luokan nimeä muistuttavalla nimellä, sinun on käännettävä se. Käytä alla olevaa komentoa kääntämiseen.
|_+_|Java-tiedosto, GsonEmployee2.java, käännetään.
Kääntämisen jälkeen olet ajanut sen alla olevalla komennolla.
|_+_|Tulos näytetään seuraavasti:
|_+_|Tietojen sidonta Gsonissa
Olemme nähneet kolme erilaista Gsonin tarjoamaa JSON-käsittelymuotoa. Yksi Gsonin JSON-käsittelymuodoista on Data Binding. Tiedonsidontakäsittelylomakkeella voit muuttaa JSON:n tavalliseksi vanhaksi Java-objektiksi (POJO) ja POJO:n JSONiksi. Muunnos JSON:n ja POJO:n välillä tapahtuu ominaisuuden aksessorin tai merkintöjen avulla. Ominaisuuden aksessorimerkintöjä on kahta eri tyyppiä, Primitives Data Binding ja Objects Data Binding.
Primitiivien tiedon sidonta: Tämä ominaisuuden aksessori tai merkintä muuntaa JSONin useiden Java-tietotyyppien objektiksi, kuten Maps, Strings, Booleans, Liists ja Null. Se myös muuntaa kaikki nämä mainitut objektitietotyypit JSONiksi.
Objektien tietojen sidonta: Objektien tietojen sidonta muuntaa minkä tahansa JSON-arvon JAVA-tyypiksi ja päinvastoin.
JSON-käsittelyn tiedonsidontamenetelmä on samanlainen kuin XML:n JAXB-jäsennys. Gson voi lukea ja kirjoittaa JSON-arvoja missä tahansa edellä mainituista tiedonsidontatyypeistä. Tutkitaan jokaista tiedonsidontatyyppiä yksityiskohtaisesti alla.
Primitives Data Binding
Primitives Data Binding -menetelmä JSON-käsittelyä varten muuntaa JSON-arvon mille tahansa Java-tietotyypeille. Tiedonsidontamenetelmässä Gson tarjoaa useita sisäänrakennettuja sovittimia. Näitä sovittimia käytetään primitiivisten tietotyyppien sarjoitukseen ja sarjojen poistamiseen. Ymmärrämme Gsonin primitiivitietojen sidontamenetelmää JSON-prosessoinnissa yhden esimerkin avulla.
Alla on esimerkki JSON- ja Java-primitiivisten tietotyyppien muuntamisesta. Sinun on muistettava, että tiedostosi nimen tulee olla sama kuin luokan nimen. Tallenna tiedostosi C:>GSON_WORKSPACE-tilaan. Alla olevassa esimerkissä tiedostonimi on GsonEmployee3.java.
Esimerkki:
|_+_|Lähtö:
Ensinnäkin sinun on käännettävä yllä oleva koodi käyttämällä alla olevaa komentoa.
|_+_|Kääntämisen jälkeen sinun on suoritettava koodi käyttämällä alla olevaa komentoa.
|_+_|Seuraava tulos tulee näkyviin.
|_+_|Tässä voit selvästi havaita eron tulosteen välillä, joka on luotu sarjoituksen ja deserialisoinnin jälkeen käyttämällä primitiivien tiedonsidontamenetelmää.
Objektien tietojen sidonta
Nyt siirrymme kohti Gsonin Objects Data Binding -lähestymistapaa JSON-prosessoinnissa. Tämä lähestymistapa kartoittaa JSON-arvon mihin tahansa JAVA-tyyppiin ja minkä tahansa Java-objektin vastaavaan JSON-esitykseen. Objektien tietojen sidontaprosessi selitetään alla:
Näiden yllä olevien vaiheiden avulla suoritamme yhden suoraviivaisen esimerkin objektien tietojen sitomisesta. Käytämme luokan nimeä GsonEmployee4. Tästä syystä tiedostonimi tulee tallentaa nimellä GsonEmployee4.java. Tässä esimerkissä näytämme työntekijän tiedot, jotka sisältävät nimen, tunnuksen, aseman, iän ja kaupungin.
Esimerkki:
|_+_|Lähtö:
Nyt sinun on käännettävä koodisi. Seuraa alla olevaa komentoa kääntääksesi.
|_+_|Suorita koodisi komennolla,
|_+_|Saat seuraavan tulosteen:
|_+_|Tässä olemme havainneet Gsonin datan sidontatapaa JSON-prosessoinnissa esimerkein. Katsotaanpa nyt toista JSON-käsittelytapaa.
Streaming API Gsonissa
Streaming API on toinen Gsonin muoto JSON-käsittelyä varten. Streaming API -lähestymistavassa JSON-arvo luetaan ja kirjoitetaan tunnuksena. Tämä lähestymistapa pitää jokaisen JSON-arvon erillisenä tapahtumana. Täällä JsonReader lukee JSON-tiedot ja JsonWriter kirjoittaa Json-tiedot tunnuksena. Siksi se tunnetaan nimellä JsonToken.
Streaming API on hyvin tunnettu jokaisen JSON-datan huolellisesta seurannasta. Tässä artikkelissa näemme JSON-tietojen lukemisen Streaming API -menetelmällä. JSON-tietojen lukuprosessi tapahtuu seuraavasti:
Tässä 'jsread' on JsonReader()-funktion kohde.
Näemme yhden esimerkin JsonReaderistä. Ota luokan nimi nimellä EmployeeRead. Muista tallentaa tiedoston nimi nimellä EmployeeRead.java C: Esimerkki: Lähtö: Yllä olevan koodin kääntämiseksi kirjoita komento seuraavasti, Kääntämisen jälkeen suorita ohjelma käyttämällä alla olevaa koodiriviä, Tulos on seuraava: Tässä oli kyse Streaming API -lähestymistavasta JSON-prosessoinnissa. Siirrytään nyt kohti lopullista muotoa, puumallia. Viimeinen Gsonin tarjoama JSON-käsittelytapa on puumalli. Kuten nimestä voi päätellä, se edustaa JSON-dokumenttia puumaisessa rakenteessa. Tämä puumainen rakenne sisältää JsonObject-solmuja. Puumalli on samanlainen kuin XML:n DOM-jäsennin. Katsotaanpa nyt kuinka puu luodaan ja kuinka puun poikki ajetaan. Puun luomiseen JSON-dokumentista käytämme JsonParser()-menetelmää. JsonParser()-metodissa on osoitin, joka lukee JSON-dokumentin ja osoittaa puun juureen. Käyttämällä yhtä juurisolmua voimme kulkea koko puun läpi. Tässä on pieni koodi, joka auttaa sinua luomaan puun JSON-tiedoista. Luo puu JSON-tiedoista seuraavasti: Tässä 'jsparser' on JsonParser()-menetelmän kohde. Olemme nähneet kuinka puu luodaan JSON-tiedoista. Nyt tarkkailemme, kuinka suunnitellun puun läpi kulkee JSON-dokumentista. Puun läpikulkua varten sinun on nähtävä jokaisen solmun polku kyseisestä solmusta juurisolmuun. Tässä on pieni koodi, joka opastaa puun ylittämiseen. Tämä oli suoraviivaisempi esimerkki puun poikki kulkemisesta. Nyt meillä on yksi ilmentymä puun luomiseksi ja kulkemiseksi jSON-tiedoista. Luomme luokan nimeksi GsonTree. Siksi muista tallentaa tiedosto nimellä GsonTree.java C:>Gson_WORKSPACE-tilaan. Esimerkki: Lähtö: Yllä olevan ohjelman kääntämiseen käytä alla olevaa komentoa, Kääntämisen jälkeen sinun on suoritettava alla olevalla koodilla, Tulos näytetään seuraavasti: Olemme nähneet kaikki kolme Gsonin tarjoamaa JSON-käsittelylomaketta vastaavien esimerkkien kanssa. Suoritetaan nyt joitain serialisointi- ja deserialisointiesimerkkejä Gsonissa. Tämä osio tarjoaa sinulle joitain helppoja ja yksinkertaisia esimerkkejä sarjoinnista ja deserialisoinnista Gsonissa. Tarkastelemme esimerkkejä taulukoista, kokoelmista ja yleisistä tyypeistä. Esittelemme tässä pienen koodin taulukon sarjoittamista ja sarjoittamista varten. Nyt suoritamme täydellisen koodin, joka auttaa sinua ymmärtämään taulukon sarjoittamista ja deserialisointia. Luomme luokan GsonColor. Varmista, että olet tallentanut Java-tiedostosi, nimeltä GsonColor.java, C:>GSON_WORKSPACE-tilaan. Kääntääksesi yllä olevan koodin, kirjoita alla oleva komento, Suorita yllä oleva koodi komennolla seuraavasti, Tulos näytetään seuraavasti: Gsonissa on Java-heijastussovellusliittymä. Tämä API on hyödyllinen sen objektityypin tunnistamisessa, johon JSON-merkkijono tai arvo on yhdistetty. Kun käytät yleisiä Gsonissa, vastaavassa objektityypissä esitetty JSON-arvo ei ole käytettävissä sarjoituksessa. Siksi Gsonin geneeristen tuotteiden ongelman ratkaisemiseksi on olemassa luokka, com.google.gson.reflect.TypeToken. Tämän luokan ensisijainen tehtävä on pitää geneerinen objekti. Alla on yksi yleinen tyyppiesimerkki. Luokaamme luokka, GsonGenerics. Muista tallentaa Java-ohjelmatiedosto hakemistoon C:>GSON_WORKSPACE nimellä GsonGenerics.java Käännä yllä oleva koodi komennolla Suorita koodi käyttämällä alla olevaa komentoa Yllä oleva ohjelma suorittaa suoritettuaan seuraavan tulosteen. Gsonin kokoelmaesimerkki sisältää ArrayList()-menetelmän. Tässä on pieni koodilukko, jonka avulla voit ymmärtää Gsonin serialisointi- ja deserialisointikokoelmien esimerkkiä. Tämä oli pieni koodi. Katsotaanpa nyt joitain suurempia koodirivejä, jotka edustavat kokoelmien serialisointia ja deserialisointia Gsonissa. Luo luokka GsonCollection ja tallenna Java-ohjelmatiedosto nimellä GsonCollection.java. Tallenna tiedosto kansioon C:>GSON_WORKSPACE. Käännä tiedosto alla olevalla komennolla, Suorita yllä oleva tiedosto kirjoittamalla sitten seuraava komento komentokehotteeseen, Seuraava on yllä olevan Gsonin kokoelmaohjelman tulos. Gson on työkalupakki, jonka avulla voit muuntaa JSON-merkkijonon tai -arvon vastaavaksi Java-objektiksi ja Java-objektin vastaavaksi JSON-merkkijonoksi tai -arvoksi. Gson tarjoaa kolme erilaista käsittelytapaa JSONille. Olemme nähneet kuinka Gsonin ympäristömuuttuja asetetaan. Kun olet määrittänyt Gson-ympäristömuuttujan, suoritat Gson-koodin. Seuraavaksi näet esimerkin objektien serialisoinnista. Objektien sarjoituksessa JSON-dokumentti luetaan Java-objektiin ja Java-objekti sitä vastaavaan JSON-dokumenttiin. Seuraavaksi olemme nähneet yksinkertaisen Gson-ohjelman ja Gson-luokan menetelmät. Jokainen JSON-käsittelytapa, tiedonsidonta, puumalli ja suoratoistosovellusliittymä selitetään yhdellä esimerkillä. Myöhemmin olemme käsitelleet serialisointi- ja deserialisointiesimerkkejä Gsonissa. Suoritimme taulukkoesimerkin, yleisen tyyppiesimerkin ja kokoelmaesimerkin. Puumalli Gsonissa
Kuinka luoda puu JSON-dokumentista?
|_+_|
|_+_|
|_+_| Kuinka kulkea puun poikki?
Serialisointi- ja deserialisointiesimerkit Gsonissa
Taulukkoesimerkki Gsonissa
Esimerkki:
|_+_| Lähtö:
Generics esimerkki Gsonissa
Esimerkki
|_+_| Lähtö
Esimerkki kokoelmista Gsonissa
Esimerkki
|_+_| Lähtö
Johtopäätös