Ukladajte údaje do súboru JSON pomocou nástroja Gson

1. Prehľad

Gson je knižnica Java, ktorá nám umožňuje prevádzať objekty Java do reprezentácie JSON. Môžeme to použiť aj opačne, na konverziu reťazca JSON na ekvivalentný objekt Java.

V tomto rýchlom výučbe zistíme, ako uložiť rôzne dátové typy Java ako JSON do súboru.

2. Maven závislosti

Najskôr je potrebné pridať závislosť Gson pom.xml. Toto je k dispozícii v Maven Central:

 com.google.code.gson gson 2.8.5 

3. Uloženie údajov do súboru JSON

Použijeme toJson (Object src, vhodný spisovateľ) metóda z Gson triedy na prevedenie dátového typu Java na JSON a jeho uloženie do súboru. The Gson () konštruktor vytvorí a Gson objekt s predvolenou konfiguráciou:

Gson gson = nový Gson ();

Teraz môžeme zavolať toJson() na prevod a ukladanie objektov Java.

Pozrime sa na niektoré príklady rôznych typov údajov v Jave.

3.1. Primitív

Ukladanie primitív do súboru JSON je pomocou GSON celkom jednoduché:

gson.toJson (123,45, nový FileWriter (filePath));

Tu, cesta k súboru označuje umiestnenie súboru. Výstup súboru bude jednoducho obsahovať primitívnu hodnotu:

123.45

3.2. Vlastné objekty

Rovnako môžeme objekty ukladať ako JSON.

Najskôr si vytvoríme jednoduchý Používateľ trieda:

verejná trieda Používateľ {private int id; súkromné ​​meno reťazca; súkromný prechodný reťazec národnosť; public User (int id, String name, String nationality) {this.id = id; this.name = meno; táto.národnosť = národnosť; } public User (int id, String name) {this (id, name, null); }}

Teraz uložíme a Používateľ objekt ako JSON:

User user = new User (1, "Tom Smith", "American"); gson.toJson (používateľ, nový FileWriter (filePath));

Výstup súboru bude:

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

Ak je pole označené prechodný, je predvolene ignorovaný a nie je zahrnutý v serializácii alebo deserializácii JSON. Výsledkom je, že národnosť pole nie je vo výstupe JSON.

Tiež štandardne Gson počas serializácie vynecháva nulové polia. Ak teda zvážime tento príklad:

gson.toJson (nový používateľ (1, null, "neznáme"), nový FileWriter (filePath));

výstup súboru bude:

{"id": 1}

Uvidíme, ako neskôr zahrnúť nulové polia do serializácie.

3.3. Zbierky

Zbierku predmetov môžeme uložiť podobným spôsobom:

Používateľ [] users = new User [] {new User (1, "Mike"), new User (2, "Tom")}; gson.toJson (používatelia, nový FileWriter (filePath));

V tomto prípade bude výstupom súboru pole Používateľ objekty:

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

4. Používanie GsonBuilder

Na vyladenie predvolených nastavení konfigurácie Gson môžeme použiť GsonBuilder trieda.

Táto trieda sa riadi vzorom staviteľa a zvyčajne sa používa na vyvolanie rôznych konfiguračných metód na nastavenie požadovaných možností a nakoniec volanie kódu vytvoriť () metóda:

Gson gson = nový GsonBuilder () .setPrettyPrinting () .create ();

Tu nastavujeme možnosť peknej tlače, ktorá je predvolene nastavená na nepravdivé. Podobne na zahrnutie nulových hodnôt do serializácie môžeme zavolať serializeNulls (). Dostupné možnosti sú uvedené tu.

5. Záver

V tomto rýchlom článku sme pochopili, ako serializovať rôzne dátové typy Java do súboru JSON. Ak chcete preskúmať rôzne články o JSON, pozrite si naše ďalšie návody na túto tému.

Útržky kódu sú ako vždy k dispozícii v tomto úložisku GitHub.


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