Konvertálja a karakterláncot JsonObject-re a Gson segítségével

1. Áttekintés

Amikor a JSON-nal dolgozunk a Java-ban a Gson könyvtár segítségével, számos lehetőség áll rendelkezésünkre a nyers JSON átalakítására más osztályokká vagy adatstruktúrákká, amelyekkel könnyebben tudunk dolgozni.

Például átalakíthatjuk a JSON karakterláncokat a-vá Térkép vagy hozzon létre egy egyedi osztályt leképezésekkel.

Néha azonban hasznos, ha JSON-junkat általános objektummá alakíthatjuk át. Ebben az oktatóanyagban meglátjuk, hogyan Gson adhat nekünk a JsonObject a-tól Húr.

2. Maven-függőség

Először is bele kell foglalnunk a gson függőség a mi pom.xml:

 com.google.code.gson gson 2.8.5 

Megtalálhatjuk a legújabb verzióját gson a Maven Central-on.

3. Használata JsonParser

Az első megközelítést, amelyet a JSON átalakítására fogunk látni Húr a JsonObject egy kétlépcsős folyamat, amely a JsonParser osztály.

Első lépésben elemeznünk kell az eredetinket Húr.

Gson biztosít nekünk egy hívott elemzőt JsonParser, amely a megadott JSON-t elemzi Húr elemző fájává JsonElements:

nyilvános JsonElement elemzés (String json) dobja a JsonSyntaxException-t

Ha megvan a miénk Húr elemzett a JsonElement fa, használjuk a getAsJsonObject () módszerrel, amely visszaadja a kívánt eredményt.

Lássuk, hogyan érjük el a döntőnket JsonObject:

Karakterlánc json = "{\" név \ ": \" Baeldung \ ", \" java \ ": true}"; JsonObject jsonObject = új JsonParser (). Elemzés (json) .getAsJsonObject (); Assert.assertTrue (jsonObject.isJsonObject ()); Assert.assertTrue (jsonObject.get ("név"). GetAsString (). Egyenlő ("Baeldung")); Assert.assertTrue (jsonObject.get ("java"). GetAsBoolean () == true);

4. Használata Json-tól

Második megközelítésünkben meglátjuk, hogyan lehet a Gson példány és használja a Json-tól módszer. Ez a módszer deserializálja a megadott JSON-t Húr a megadott osztályú objektumba:

Json nyilvános T (String json, Class classOfT) dobja JsonSyntaxException

Nézzük meg, hogyan használhatjuk ezt a módszert a JSON elemzésére Húr, elhaladva a JsonObject osztály második paraméterként:

Karakterlánc json = "{\" név \ ": \" Baeldung \ ", \" java \ ": true}"; JsonObject convertObject = new Gson (). From Json (json, JsonObject.class); Assert.assertTrue (convertObject.isJsonObject ()); Assert.assertTrue (convertObject.get ("név"). GetAsString (). Egyenlő ("Baeldung")); Assert.assertTrue (convertObject.get ("java"). GetAsBoolean () == true);

5. Következtetés

Ebben az alapvető oktatóanyagban két különböző módszert tanultunk meg a Gson könyvtár használatára a JsonObject egy JSON-formátumúból Húr Java-ban. Következésképpen azt kell használnunk, amely jobban illeszkedik a köztes JSON-műveleteinkhez.

Szokás szerint ezeknek a példáknak a forráskódja elérhető a GitHubon.