logo

Kako dobiti vrijednost iz JSON objekta u primjeru Jave

JSON je format za razmjenu podataka. To je široko korišten lagani format neovisan o jeziku. Sposoban je pretvoriti podatke iz JSON u XML. Java nudi veliki broj JSON paketa. Uz pomoć ovih paketa možemo dohvatiti ili dobiti vrijednost iz JSONObject. Koristili smo dva različita JSON paketa org.json i org.json.simple . U ovom odjeljku naučit ćemo kako dobiti vrijednosti iz JSONObject u Javi s odgovarajućim primjerom.

Što je JSONObject u Javi?

U Java , JSONObject je nesređena zbirka koja sadrži podatke u obliku ime-vrijednost parovi. Označava se kao niz omotan parom vitičastih zagrada s dvotočkama između imena i vrijednosti. Njegov interni oblik je objekt koji mora dobiti i postaviti metode za pristup vrijednostima po imenu i dodavanje i zamjenu vrijednosti po imenu.

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

U gornjem primjeru, ime, grad, i dob su imena, i John, Florida, i 22 su njihove vrijednosti, respektivno.

Klasa Java JSONObject

Java pruža klasu JSONObject koja je definirana u org.json paket. Označava nepromjenjivu (neosporivu) JSONObject vrijednost. Vrijednost objekta je an nesređena skupina od ime-vrijednost parovi. Također pruža mapu za pregled preslikavanja imena i vrijednosti JSON objekta koje se ne može mijenjati. Vrijednosti JSONObject mogu biti Booleov, niz, broj, JSONObject, JSONArray, JSONNumber, JSONString itd. Ovim JSONObject vrijednostima može se pristupiti korištenjem različitih odgovarajućih pristupnih metoda.

The dobiti() metoda vraća vrijednost ako pronađe i izbacuje iznimku ako vrijednost nije pronađena. Dok opt() metoda vraća zadanu vrijednost umjesto izbacivanja iznimke. Vrijednost može biti nula. To je glavna razlika između ove dvije metode. Stoga su ove dvije metode korisne za dobivanje vrijednosti iz JSONObject-a. Objekt vraćen generičkim metodama get() i opt() možemo cast ili postaviti upit.

The JSONObject sadrži sljedeće metode koje možemo koristiti za dobivanje vrijednosti iz JSONObject.

metoda getBoolean().

Metoda analizira naziv parametra tipa String. Vraća Booleovu vrijednost povezanog preslikavanja za parametar analize. Vraća true ako je pridruženo preslikavanje JsonValue.TRUE i vraća false ako je pridruženo preslikavanje JsonValue.FALSE.

Sintaksa:

 boolean getBoolean(String name) 

Baca se NullPointerException ako navedeni naziv nema preslikavanje. Također baca ClassCastException navedeno mapiranje imena ne može se dodijeliti JsonValue.TRUE ili JsonValue.FALSE.

getInt() Metoda

Koristi se za dobivanje JsonNumber(name).intValue(). Metoda analizira naziv parametra tipa String. Vraća cjelobrojnu vrijednost pridruženog preslikavanja za raščlanjeni parametar.

Sintaksa:

java čitanje csv
 int getInt(String name) 

Baca se NullPointerException ako navedeni naziv nema preslikavanje. Također baca ClassCastException navedeno mapiranje imena ne može se dodijeliti JsonNumber.

metoda getJsonArray().

Koristi se za dobivanje JsonArray get(name). Metoda analizira naziv argumenta tipa String čija pridružena vrijednost treba biti vraćena. Vraća vrijednost polja pridruženog preslikavanja za raščlanjeni parametar. Vraća null ako objekt nema mapiranje za parametar.

Sintaksa:

 JsonArray geJsonArray(String name) 

Baca se ClassCastException navedeno mapiranje imena ne može se dodijeliti JsonArray-u.

metoda getJsonNumber().

Koristi se za dobivanje (JsonNumber)get(ime). Metoda analizira naziv argumenta tipa String čija se povezana vrijednost treba vratiti. Vraća brojčanu vrijednost pridruženog mapiranja za raščlanjeni parametar. Vraća null ako objekt nema mapiranje za parametar.

dateformat.format

Sintaksa:

 JsonNumber geJsonNumber(String name) 

Baca se ClassCastException navedeno mapiranje imena ne može se dodijeliti JsonNumber.

metoda getJsonObject().

Koristi se za dobivanje (JsonObject)get(ime). Metoda analizira naziv argumenta tipa String čija se povezana vrijednost treba vratiti. Vraća objekt pridruženog mapiranja za parametar analize. Vraća null ako objekt nema mapiranje za parametar.

iphone emoji na android telefonu

Sintaksa:

 JsonObject geJsonObject(String name) 

Baca se ClassCastException navedeno mapiranje naziva nije moguće dodijeliti JsonObjectu.

metoda getJsonString().

Koristi se za dobivanje (JsonString)get(ime). Metoda analizira naziv argumenta tipa String čija se povezana vrijednost treba vratiti. Vraća String vrijednost pridruženog mapiranja za raščlanjeni parametar. Vraća null ako objekt nema mapiranje za parametar.

Sintaksa:

 JsonString geJsonString(String name) 

Baca se ClassCastException navedeno mapiranje naziva nije moguće dodijeliti JsonStringu.

metoda getString().

Koristi se za dobivanje getJsonString(ime).getString() . Metoda analizira naziv argumenta tipa String čija se povezana vrijednost treba vratiti kao String. Vraća String vrijednost pridruženog mapiranja za raščlanjeni parametar.

Sintaksa:

duljina niza bash
 String geString(String name) 

Baca se NullPointerException ako navedeni naziv nema preslikavanje. Također baca ClassCastException navedeno mapiranje naziva nije moguće dodijeliti JsonStringu.

Kreirajmo program i uzmimo vrijednost iz JSON objekta pomoću gornjih metoda.

Napomena: prije korištenja sljedećeg koda, preuzmite json-20200518.jar datoteku i dodajte je svom projektu.

Kako dobiti vrijednost iz JSON objekta u primjeru Jave

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

Izlaz:

Kako dobiti vrijednost iz JSON objekta u primjeru Jave

Upotrijebimo drugu JSON biblioteku i uzmimo vrijednosti iz JSONObject-a. U sljedećem programu koristili smo json-jednostavan knjižnica. Prije korištenja sljedećeg programa preuzmite datoteku json-simple-1.1.1.jar i dodajte je svom projektu.

Kako dobiti vrijednost iz JSON objekta u primjeru Jave

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

Izlaz:

Kako dobiti vrijednost iz JSON objekta u primjeru Jave