Adatok mentése JSON fájlba a Gson segítségével

1. Áttekintés

A Gson egy Java könyvtár, amely lehetővé teszi számunkra, hogy a Java objektumokat JSON ábrázolássá alakítsuk át. Használhatjuk fordítva is, egy JSON karakterlánc konvertálására ekvivalens Java objektummá.

Ebben a gyors bemutatóban megtudhatjuk, hogyan lehet különféle Java adattípusokat JSON formában menteni egy fájlba.

2. Maven-függőségek

Először hozzá kell adnunk a Gson-függőséget pom.xml. Ez elérhető a Maven Central-ban:

 com.google.code.gson gson 2.8.5 

3. Adatok mentése JSON fájlba

Használjuk a toJson (Object src, hozzáadható író) módszer a Gson osztály, hogy a Java adattípust JSON-vá konvertálja és fájlban tárolja. A Gson () konstruktor létrehoz egy Gson objektum alapértelmezett konfigurációval:

Gson gson = új Gson ();

Most hívhatunk Jsonnak() Java objektumok konvertálásához és tárolásához.

Fedezzünk fel néhány példát különféle adattípusokkal a Java-ban.

3.1. Primitívek

A primitívek JSON fájlba mentése a GSON használatával elég egyszerű:

gson.toJson (123.45, új FileWriter (filePath));

Itt, fájl elérési út a fájl helyét jelöli. A fájl kimenete egyszerűen tartalmazza a primitív értéket:

123.45

3.2. Egyéni objektumok

Hasonlóképpen tárolhatunk tárgyakat JSON-ként is.

Először létrehozunk egy egyszerűt Felhasználó osztály:

public class Felhasználó {private int id; privát karakterlánc neve; magán átmeneti húr nemzetiség; public Felhasználó (int id, String név, String nemzetiség) {this.id = id; ez.név = név; ez.nemzetiség = nemzetiség; } public User (int id, String name) {ez (id, név, null); }}

Most tárolunk egy Felhasználó objektum JSON néven:

Felhasználó felhasználó = új felhasználó (1, "Tom Smith", "amerikai"); gson.toJson (felhasználó, új FileWriter (filePath));

A fájl kimenete a következő lesz:

{"id": 1, "név": "Tom"}

Ha egy mező meg van jelölve átmeneti, alapértelmezés szerint figyelmen kívül hagyja, és nem szerepel a JSON-szerializációban vagy a deserializációban. Ennek eredményeként a állampolgárság mező nincs a JSON kimenetben.

Szintén alapértelmezés szerint a Gson semmissé teszi a mezőket a sorosítás során. Tehát ha ezt a példát vesszük figyelembe:

gson.toJson (új felhasználó (1, null, "Ismeretlen"), új FileWriter (filePath));

a fájl kimenete a következő lesz:

{"id": 1}

Később meglátjuk, hogyan lehet null mezőket beépíteni a sorosításba.

3.3. Gyűjtemények

Tárgyak gyűjteményét hasonló módon tárolhatjuk:

Felhasználó [] felhasználók = új felhasználó [] {új felhasználó (1, "Mike"), új felhasználó (2, "Tom")}; gson.toJson (felhasználók, új FileWriter (filePath));

Ebben az esetben a fájl kimenete egy tömb lesz Felhasználó tárgyak:

[{"id": 1, "név": "Mike"}, {"id": 2, "név": "Tom"}]

4. Használata GsonBuilder

Az alapértelmezett Gson konfigurációs beállítások módosítása érdekében felhasználhatjuk a GsonBuilder osztály.

Ez az osztály a készítő mintáját követi, és általában úgy használják, hogy először különböző konfigurációs módszereket hívnak meg a kívánt opciók beállításához, és végül felhívják a teremt() módszer:

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

Itt állítjuk be a szép nyomtatási opciót, amely alapértelmezés szerint a hamis. Hasonlóképpen, ha null értékeket veszünk fel a sorosításba, hívhatunk serializeNulls (). Az elérhető lehetőségeket itt sorolja fel.

5. Következtetés

Ebben a rövid cikkben megértettük, hogyan lehet különféle Java adattípusokat JSON fájlokká sorosítani. A JSON-ról szóló különféle cikkek felfedezéséhez olvassa el a témával kapcsolatos egyéb oktatóanyagainkat.

Mint mindig, a kódrészletek is elérhetők ebben a GitHub-adattárban.