logo

Jak získat hodnotu z objektu JSON v příkladu Java

JSON je formát pro výměnu dat. Je to široce používaný odlehčený a jazykově nezávislý formát. Je schopen převádět data z JSON do XML. Java poskytuje velké množství balíčků JSON. Pomocí těchto balíčků můžeme získat popř získat hodnotu z JSONObject. Použili jsme dva různé balíčky JSON org.json a org.json.simple . V této části se naučíme jak získat hodnoty z JSONObject v Javě se správným příkladem.

Co je JSONObject v Javě?

v Jáva , JSONObject je neuspořádaná kolekce, která obsahuje data ve formě jméno-hodnota páry. Označuje se jako řetězec obalený dvojicí složených závorek s dvojtečkami mezi názvy a hodnotami. Jeho vnitřní forma je objekt, který musí získat a vložit metody pro přístup k hodnotám jménem a přidávání a nahrazování hodnot jménem.

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

Ve výše uvedeném příkladu jméno, město, a stáří jsou jména a John, Florida, a 22 jsou jejich hodnoty, resp.

Třída Java JSONObject

Java poskytuje třídu JSONObject, která je definována v org.json balík. Označuje neměnnou (nezpochybnitelnou) hodnotu JSONObject. Hodnota objektu je an neuspořádané skupina jmenná hodnota páry. Poskytuje také Map pro zobrazení mapování názvu a hodnoty objektu JSON, které je nemodifikovatelné. Hodnoty JSONObject mohou být Boolean, řetězec, číslo, JSONObject, JSONArray, JSONNumber, JSONString atd. K těmto hodnotám JSONObject lze přistupovat pomocí různých odpovídajících metod přístupového objektu.

binární vyhledávací python

The dostat() metoda vrátí hodnotu, pokud nalezne, a vyvolá výjimku, pokud hodnota nebyla nalezena. Zatímco opt() metoda vrátí výchozí hodnotu namísto vyvolání výjimky. Hodnota může být nulová. To je hlavní rozdíl mezi těmito dvěma metodami. Proto jsou tyto dvě metody užitečné pro získání hodnoty z JSONObject. Můžeme přetypovat nebo dotazovat objekt vrácený obecnými metodami get() a opt().

The JSONObject třída obsahuje následující metody, které můžeme použít k získání hodnot z JSONObject.

Metoda getBoolean().

Metoda analyzuje název parametru typu String. Vrací booleovskou hodnotu souvisejícího mapování pro parametr analýzy. Vrátí hodnotu true, pokud je přiřazené mapování JsonValue.TRUE, a vrátí hodnotu false, pokud je přiřazené mapování JsonValue.FALSE.

Syntax:

 boolean getBoolean(String name) 

To hází Výjimka NullPointerException pokud zadaný název nemá žádné mapování. To také hází ClassCastException zadané mapování názvu nelze přiřadit k JsonValue.TRUE nebo JsonValue.FALSE.

getInt()Metoda

Používá se k získání JsonNumber(name).intValue(). Metoda analyzuje název parametru typu String. Vrací celočíselnou hodnotu přidruženého mapování pro analyzovaný parametr.

Syntax:

 int getInt(String name) 

To hází Výjimka NullPointerException pokud zadaný název nemá žádné mapování. To také hází ClassCastException zadané mapování názvu nelze přiřadit k JsonNumber.

Metoda getJsonArray().

Používá se k získání JsonArray get(jméno). Metoda analyzuje název argumentu typu String, jehož přidružená hodnota má být vrácena. Vrací hodnotu pole souvisejícího mapování pro parametr analýzy. Pokud objekt nemá žádné mapování pro parametr, vrátí hodnotu null.

Syntax:

 JsonArray geJsonArray(String name) 

To hází ClassCastException zadané mapování názvu nelze přiřadit k JsonArray.

jak zkontrolovat velikost obrazovky monitoru

Metoda getJsonNumber().

Používá se k získání (JsonNumber)get(jméno). Metoda analyzuje název argumentu typu String, jehož související hodnota má být vrácena. Vrací číselnou hodnotu přiřazeného mapování pro parametr analýzy. Pokud objekt nemá žádné mapování pro parametr, vrátí hodnotu null.

Syntax:

 JsonNumber geJsonNumber(String name) 

To hází ClassCastException zadané mapování názvu nelze přiřadit k JsonNumber.

Metoda getJsonObject().

Používá se k získání (JsonObject)get(jméno). Metoda analyzuje název argumentu typu String, jehož související hodnota má být vrácena. Vrací objekt přidruženého mapování pro parametr analýzy. Pokud objekt nemá žádné mapování pro parametr, vrátí hodnotu null.

Syntax:

 JsonObject geJsonObject(String name) 

To hází ClassCastException zadané mapování názvu nelze přiřadit k JsonObject.

Metoda getJsonString().

Používá se k získání (JsonString)get(jméno). Metoda analyzuje název argumentu typu String, jehož související hodnota má být vrácena. Vrací hodnotu řetězce přidruženého mapování pro analyzovaný parametr. Pokud objekt nemá žádné mapování pro parametr, vrátí hodnotu null.

soubor json

Syntax:

 JsonString geJsonString(String name) 

To hází ClassCastException zadané mapování názvu nelze přiřadit k JsonString.

Metoda getString().

Používá se k získání getJsonString(name).getString() . Metoda analyzuje název argumentu typu String, jehož související hodnota má být vrácena jako String. Vrací hodnotu řetězce přidruženého mapování pro analyzovaný parametr.

jinak smyčka v Javě

Syntax:

 String geString(String name) 

To hází Výjimka NullPointerException pokud zadaný název nemá žádné mapování. To také hází ClassCastException zadané mapování názvu nelze přiřadit k JsonString.

Pojďme vytvořit program a získat hodnotu z objektu JSON pomocí výše uvedených metod.

Poznámka: Před použitím následujícího kódu stáhněte si soubor json-20200518.jar soubor a přidejte jej do svého projektu.

Jak získat hodnotu z objektu JSON v příkladu Java

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'); } } 

Výstup:

Jak získat hodnotu z objektu JSON v příkladu Java

Použijme jinou knihovnu JSON a získáme hodnoty z JSONObject. V následujícím programu jsme použili json-simple knihovna. Před použitím následujícího programu si stáhněte soubor json-simple-1.1.1.jar a přidejte jej do svého projektu.

Jak získat hodnotu z objektu JSON v příkladu Java

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); } } 

Výstup:

Jak získat hodnotu z objektu JSON v příkladu Java