logo

Hogyan szerezhet be értéket a JSON-objektumból a Java példában

JSON egy adatcsere formátum. Ez egy széles körben használt könnyű és nyelvfüggetlen formátum. Képes az adatokat JSON-ból XML-be konvertálni. A Java nagyszámú JSON-csomagot biztosít. Ezen csomagok segítségével visszakereshetjük ill kap értéket a JSONObjecttől. Két különböző JSON-csomagot használtunk org.json és org.json.simple . Ebben a részben megtanuljuk hogyan lehet értékeket szerezni a JSONObjectből Java-ban egy megfelelő példával.

js globális változó

Mi a JSONObject a Java-ban?

Ban ben Jáva , JSONObject egy rendezetlen gyűjtemény, amely a következő formában tartalmaz adatokat névérték párok. Ezt a karakterláncot egy göndör kapcsos zárójelben jelölik, kettősponttal a nevek és értékek között. Belső formája egy objektum, amelynek metódusokat kell lekérnie és elhelyeznie az értékek név szerinti eléréséhez, valamint az értékek név szerinti hozzáadásához és cseréjéhez.

 { 'first name': 'John', 'city': 'Florida', 'age': '22' }, 

A fenti példában keresztnév, város, és kor nevek, és John, Florida, és 22 értékeik, ill.

Java JSONObject osztály

A Java biztosítja a JSONObject osztályt, amely a org.json csomag. Egy megváltoztathatatlan (megkérdőjelezhetetlen) JSONObject értéket jelöl. Az objektum értéke egy rendezetlen csoportja névérték párok. Leképezést is biztosít a JSON objektumnév-érték leképezés megtekintéséhez, amely nem módosítható. A JSONObject értékek lehetnek Logikai érték, karakterlánc, szám, JSONObject, JSONArray, JSONNumber, JSONString stb. Ezek a JSONObject értékek a különböző megfelelő hozzáférési módszerekkel érhetők el.

A kap() A metódus értéket ad vissza, ha talál, és kivételt dob, ha az érték nem található. Amíg a dönt() metódus az alapértelmezett értéket adja vissza a kivétel dobása helyett. Az érték nulla lehet. Ez a fő különbség a két módszer között. Ezért ez a két módszer hasznos a JSONObject értékének lekéréséhez. A get() és opt() általános metódusok által visszaadott objektumokat leadhatjuk vagy lekérdezhetjük.

A JSONObject osztály tartalmazza a következő metódusokat, amelyek segítségével értékeket kaphatunk a JSONObjectből.

getBoolean() metódus

A metódus egy String típusú paraméternevet elemzi. A kapcsolódó leképezés logikai értékét adja vissza az elemzés paraméteréhez. Igazat ad vissza, ha a társított leképezés JsonValue.TRUE, és hamis értéket ad vissza, ha a társított leképezés JsonValue.FALSE.

Szintaxis:

 boolean getBoolean(String name) 

Ez dob NullPointerException ha a megadott névhez nincs hozzárendelés. Az is dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonValue.TRUE vagy a JsonValue.FALSE értékhez.

getInt() Method

Arra használják, hogy a JsonSzám(név).intÉrték(). A metódus egy String típusú paraméternevet elemzi. Az elemzett paraméterhez tartozó társított leképezés egész értékét adja vissza.

Szintaxis:

 int getInt(String name) 

Ez dob NullPointerException ha a megadott névhez nincs hozzárendelés. Az is dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonNumberhez.

getJsonArray() metódus

Arra használják, hogy a JsonArray get(name). A metódus egy String típusú argumentumnevet elemzi, amelyhez tartozó értéket vissza kell adni. Az elemző paraméterhez tartozó társított leképezés tömbértékét adja vissza. Null értékkel tér vissza, ha az objektum nem rendelkezik leképezéssel a paraméterhez.

Szintaxis:

szótár c#
 JsonArray geJsonArray(String name) 

Ez dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonArray-hez.

getJsonNumber() módszer

Arra használják, hogy a (JsonNumber)get(name). A metódus egy String típusú argumentumnevet elemzi, amelynek kapcsolódó értékét vissza kell adni. Az elemző paraméterhez tartozó társított leképezés számértékét adja vissza. Null értékkel tér vissza, ha az objektum nem rendelkezik leképezéssel a paraméterhez.

Szintaxis:

 JsonNumber geJsonNumber(String name) 

Ez dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonNumberhez.

getJsonObject() metódus

Arra használják, hogy a (JsonObject)get(name). A metódus egy String típusú argumentumnevet elemzi, amelynek kapcsolódó értékét vissza kell adni. Visszaadja az elemzés paraméteréhez tartozó társított leképezés objektumát. Null értékkel tér vissza, ha az objektum nem rendelkezik leképezéssel a paraméterhez.

Szintaxis:

 JsonObject geJsonObject(String name) 

Ez dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonObjecthez.

getJsonString() metódus

Arra használják, hogy a (JsonString)get(név). A metódus egy String típusú argumentumnevet elemzi, amelynek kapcsolódó értékét vissza kell adni. Az elemzett paraméterhez tartozó társított leképezés String értékét adja vissza. Null értékkel tér vissza, ha az objektum nem rendelkezik leképezéssel a paraméterhez.

Szintaxis:

 JsonString geJsonString(String name) 

Ez dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonStringhez.

getString() metódus

Arra használják, hogy a getJsonString(név).getString() . A metódus egy String típusú argumentumnevet elemzi, amelynek kapcsolódó értékét Stringként kell visszaadni. Az elemzett paraméterhez tartozó társított leképezés String értékét adja vissza.

Szintaxis:

 String geString(String name) 

Ez dob NullPointerException ha a megadott névhez nincs hozzárendelés. Az is dob ClassCastException a megadott névleképezés nem rendelhető hozzá a JsonStringhez.

Hozzon létre egy programot, és nyerjen értéket a JSON-objektumból a fenti módszerek segítségével.

Megjegyzés: A következő kód használata előtt töltse le a json-20200518.jar fájlt fájlt, és adja hozzá a projekthez.

Hogyan szerezhet be értéket a JSON-objektumból a Java példában

GetValueFromJsonExample.java

 import org.json.*; public class GetValueFromJsonExample { public static void main(String[] args) throws JSONException { //constructor of the JSONObject class JSONObject obj = new JSONObject( '{' + 'Employee ID: 092789,' + 'Employee Name: Helen Mirren,' + 'Age: 27, ' + 'Designation: Assistant Manager,' + 'City: Florida,' + 'Salary: 67000.00, ' + 'Experience: 26 ' + '}' ); //getting values form the JSONObject System.out.println('Employee ID: '+obj.getInt('Employee ID')); System.out.println('Employee Name: '+obj.getString('Employee Name')); System.out.println('Age: '+obj.getInt('Age')); System.out.println('Designation: '+obj.getString('Designation')); System.out.println('City: '+obj.getString('City')); System.out.println('Salary: '+obj.getDouble('Salary')); System.out.println('Experience: '+obj.getInt('Experience') +' Months'); } } 

Kimenet:

Hogyan szerezhet be értéket a JSON-objektumból a Java példában

Használjunk egy másik JSON-könyvtárat, és szerezzünk be értékeket a JSONObject-ből. A következő programban a json-egyszerű könyvtár. A következő program használata előtt töltse le a json-simple-1.1.1.jar fájlt, és adja hozzá a projekthez.

char konvertálása string java-ba
Hogyan szerezhet be értéket a JSON-objektumból a Java példában

GetValueFromJsonObjectExample.java

 import org.json.simple.JSONObject; import org.json.simple.JSONValue; public class GetValueFromJsonObjectExample { public static void main(String[] args) { //defining a JSON string String s='{'name':'William Hill','Salary':67000.0,'age':42}'; Object obj=JSONValue.parse(s); //creating an object of JSONObject class and casting the object into JSONObject type JSONObject jsonObject = (JSONObject) obj; //getting values form the JSONObject and casting that values into corresponding types String name = (String) jsonObject.get('name'); double salary = (Double) jsonObject.get('Salary'); long age = (Long) jsonObject.get('age'); //printing the values System.out.println('Name: '+name); System.out.println('Salary: '+salary); System.out.println('Age: '+age); } } 

Kimenet:

Hogyan szerezhet be értéket a JSON-objektumból a Java példában