Spremite podatke u JSON datoteku pomoću Gsona

1. Pregled

Gson je Java knjižnica koja nam omogućuje pretvaranje Java objekata u JSON predstavu. Možemo ga koristiti i obrnuto, za pretvaranje JSON niza u ekvivalentan Java objekt.

U ovom brzom vodiču saznat ćemo kako razne datoteke Java vrste podataka spremiti kao JSON u datoteku.

2. Ovisnosti Mavena

Prije svega, moramo dodati ovisnost Gson u pom.xml. Ovo je dostupno u Maven Central:

 com.google.code.gson gson 2.8.5 

3. Spremanje podataka u JSON datoteku

Koristit ćemo toJson (objekt src, pisac koji se može prijaviti) metoda iz Gson klase za pretvorbu Java vrste podataka u JSON i pohranjivanje u datoteku. The Gson () konstruktor stvara a Gson objekt sa zadanom konfiguracijom:

Gson gson = novi Gson ();

Sad možemo nazvati toJson() za pretvaranje i spremanje Java objekata.

Istražimo neke primjere s različitim vrstama podataka u Javi.

3.1. Primitivci

Spremanje primitiva u JSON datoteku prilično je jednostavno pomoću GSON-a:

gson.toJson (123.45, novi FileWriter (filePath));

Ovdje, filePath označava mjesto datoteke. Izlaz datoteke jednostavno će sadržavati primitivnu vrijednost:

123.45

3.2. Prilagođeni objekti

Isto tako, objekte možemo pohraniti kao JSON.

Prvo ćemo stvoriti jednostavan Korisnik razred:

korisnik javne klase {private int id; privatni naziv niza; privatna prolazna niska nacionalnost; javni korisnik (int id, naziv niza, nacionalnost niza) {this.id = id; this.name = ime; this.narodnost = nacionalnost; } javni korisnik (int id, naziv niza) {this (id, name, null); }}

Sad ćemo pohraniti a Korisnik objekt kao JSON:

Korisnik korisnik = novi korisnik (1, "Tom Smith", "Amerikanac"); gson.toJson (korisnik, novi FileWriter (filePath));

Izlaz datoteke bit će:

{"id": 1, "name": "Tom"}

Ako je polje označeno prolazan, po defaultu se ignorira i nije uključen u JSON serializaciju ili deserializaciju. Kao rezultat, nacionalnost polje nije prisutno u JSON izlazu.

Također prema zadanim postavkama, Gson tijekom serializacije izostavlja nulta polja. Pa ako uzmemo u obzir ovaj primjer:

gson.toJson (novi korisnik (1, null, "Nepoznat"), novi FileWriter (filePath));

izlaz datoteke bit će:

{"id": 1}

Kasnije ćemo vidjeti kako uključiti nulta polja u serializaciju.

3.3. Zbirke

Na sličan način možemo pohraniti kolekciju predmeta:

Korisnik [] korisnici = novi korisnik [] {novi korisnik (1, "Mike"), novi korisnik (2, "Tom")}; gson.toJson (korisnici, novi FileWriter (filePath));

U ovom će slučaju izlaz datoteke biti niz Korisnik objekti:

[{"id": 1, "name": "Mike"}, {"id": 2, "name": "Tom"}]

4. Korištenje GsonBuilder

Da bismo podesili zadane postavke Gson konfiguracije, možemo koristiti GsonBuilder razred.

Ova klasa slijedi obrazac graditelja i obično se koristi tako što prvo poziva različite metode konfiguracije za postavljanje željenih opcija i na kraju poziva stvoriti() metoda:

Gson gson = novi GsonBuilder () .setPrettyPrinting () .create ();

Ovdje postavljamo lijepu opciju ispisa koja je prema zadanim postavkama postavljena na lažno. Slično tome, da bismo uključili null vrijednosti u serializaciju, možemo nazvati serializeNulls (). Dostupne opcije navedene su ovdje.

5. Zaključak

U ovom kratkom članku stekli smo razumijevanje kako serializirati različite tipove podataka Java u JSON datoteku. Da biste istražili razne članke o JSON-u, pogledajte naše ostale vodiče o ovoj temi.

Kao i uvijek, isječci koda dostupni su u ovom GitHub spremištu.


$config[zx-auto] not found$config[zx-overlay] not found