JSON je format za izmenjavo podatkov. Je široko uporabljen lahek in od jezika neodvisen format. Sposoben je pretvoriti podatke iz JSON v XML. Java ponuja veliko število paketov JSON. S pomočjo teh paketov lahko pridobimo oz pridobi vrednost iz JSONObject. Uporabili smo dva različna paketa JSON org.json in org.json.simple . V tem razdelku se bomo naučili kako pridobiti vrednosti iz JSONObject v Javi z ustreznim primerom.
Kaj je JSONObject v Javi?
notri Java , JSONObject je neurejena zbirka, ki vsebuje podatke v obliki ime-vrednost parov. Označen je kot niz, ovit v par zavitih oklepajev z dvopičji med imeni in vrednostmi. Njegova notranja oblika je objekt, ki mora pridobiti in postaviti metode za dostop do vrednosti po imenu ter dodajanje in zamenjavo vrednosti po imenu.
{ 'first name': 'John', 'city': 'Florida', 'age': '22' },
V zgornjem primeru ime, mesto, in starost so imena in John, Florida, in 22 so njihove vrednosti oz.
izjema vrzi javo
Java JSONObject Class
Java ponuja razred JSONObject, ki je definiran v org.json paket. Označuje nespremenljivo (neizpodbojno) vrednost JSONObject. Vrednost predmeta je an neurejeno skupina od ime-vrednost parov. Ponuja tudi Map za ogled preslikave imena in vrednosti predmeta JSON, ki je ni mogoče spreminjati. Vrednosti JSONObject so lahko Logična vrednost, niz, število, JSONObject, JSONArray, JSONNumber, JSONString itd. Do teh vrednosti JSONObject je mogoče dostopati z uporabo različnih ustreznih metod dostopnika.
The dobiti () metoda vrne vrednost, če najde in vrže izjemo, če vrednost ni najdena. Medtem ko je opt() vrne privzeto vrednost, namesto da vrže izjemo. Vrednost je lahko ničelna. To je glavna razlika med tema dvema metodama. Zato sta ti dve metodi uporabni za pridobivanje vrednosti iz JSONObject. Objekt, ki ga vrneta generični metodi get() in opt(), lahko pretvorimo ali poizvedujemo.
The JSONObject vsebuje naslednje metode, ki jih lahko uporabimo za pridobivanje vrednosti iz JSONObject.
metoda getBoolean().
Metoda razčleni ime parametra tipa String. Vrne logično vrednost povezane preslikave za parameter razčlenitve. Vrne true, če je povezana preslikava JsonValue.TRUE, in vrne false, če je povezana preslikava JsonValue.FALSE.
Sintaksa:
vb in vb net
boolean getBoolean(String name)
Vrže NullPointerException če podano ime nima preslikave. Prav tako meče ClassCastException podane preslikave imena ni mogoče dodeliti JsonValue.TRUE ali JsonValue.FALSE.
metoda getInt().
Uporablja se za pridobivanje JsonNumber(name).intValue(). Metoda razčleni ime parametra tipa String. Vrne celoštevilsko vrednost povezane preslikave za razčlenjen parameter.
Sintaksa:
int getInt(String name)
Vrže NullPointerException če podano ime nima preslikave. Prav tako meče ClassCastException podane preslikave imena ni mogoče dodeliti JsonNumber.
metoda getJsonArray().
Uporablja se za pridobivanje JsonArray get(name). Metoda razčleni ime argumenta tipa String, katerega povezana vrednost naj bo vrnjena. Vrne matrično vrednost povezane preslikave za parameter za razčlenjevanje. Vrne nič, če objekt nima preslikave za parameter.
java povratni ukaz
Sintaksa:
JsonArray geJsonArray(String name)
Vrže ClassCastException podane preslikave imena ni mogoče dodeliti JsonArray.
metoda getJsonNumber().
Uporablja se za pridobivanje (JsonNumber)get(ime). Metoda razčleni ime argumenta tipa String, katerega povezana vrednost naj bo vrnjena. Vrne številsko vrednost povezane preslikave za parameter razčlenjevanja. Vrne nič, če objekt nima preslikave za parameter.
Sintaksa:
JsonNumber geJsonNumber(String name)
Vrže ClassCastException podane preslikave imena ni mogoče dodeliti JsonNumber.
metoda getJsonObject().
Uporablja se za pridobivanje (JsonObject)get(ime). Metoda razčleni ime argumenta tipa String, katerega povezana vrednost naj bo vrnjena. Vrne objekt povezane preslikave za parameter razčlenjevanja. Vrne nič, če objekt nima preslikave za parameter.
Sintaksa:
JsonObject geJsonObject(String name)
Vrže ClassCastException podane preslikave imena ni mogoče dodeliti JsonObjectu.
ZDA koliko mest
metoda getJsonString().
Uporablja se za pridobivanje (JsonString)get(ime). Metoda razčleni ime argumenta tipa String, katerega povezana vrednost naj bo vrnjena. Vrne vrednost niza povezane preslikave za razčlenjen parameter. Vrne nič, če objekt nima preslikave za parameter.
Sintaksa:
JsonString geJsonString(String name)
Vrže ClassCastException podane preslikave imena ni mogoče dodeliti JsonString.
metoda getString().
Uporablja se za pridobivanje getJsonString(ime).getString() . Metoda razčleni ime argumenta tipa String, katerega povezana vrednost naj bo vrnjena kot String. Vrne vrednost niza povezane preslikave za razčlenjen parameter.
Sintaksa:
String geString(String name)
Vrže NullPointerException če podano ime nima preslikave. Prav tako meče ClassCastException podane preslikave imena ni mogoče dodeliti JsonString.
Ustvarimo program in pridobimo vrednost iz objekta JSON z uporabo zgornjih metod.
Opomba: Preden uporabite naslednjo kodo, prenesite json-20200518.jar datoteko in jo dodajte svojemu projektu.
GetValueFromJsonExample.java
vlc za prenos youtube
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'); } }
Izhod:
Uporabimo drugo knjižnico JSON in pridobimo vrednosti iz JSONObject. V naslednjem programu smo uporabili json-preprosto knjižnica. Pred uporabo naslednjega programa prenesite datoteko json-simple-1.1.1.jar in jo dodajte svojemu projektu.
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); } }
Izhod: