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.