logo

Hvordan få verdi fra JSON-objekt i Java-eksempel

JSON er et datautvekslingsformat. Det er et mye brukt lett og språkuavhengig format. Den er i stand til å konvertere data fra JSON til XML. Java gir et stort antall JSON-pakker. Ved hjelp av disse pakkene kan vi hente eller få verdi fra JSONObject. Vi har brukt de to forskjellige JSON-pakkene org.json og org.json.simple . I denne delen vil vi lære hvordan hente verdier fra JSONObject i Java med et riktig eksempel.

Hva er JSONObject i Java?

I Java , JSONObject er en uordnet samling som inneholder data i form av navn-verdi par. Det er betegnet som strengen innhyllet i et par krøllete seler med kolon mellom navnene og verdiene. Dens interne form er et objekt som må hente og sette metoder for å få tilgang til verdiene etter navn og legge til og erstatte verdier med navn.

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

I eksemplet ovenfor, fornavn, by, og alder er navn, og John, Florida, og 22 er deres verdier, henholdsvis.

Java JSONObject Class

Java gir JSONObject-klassen som er definert i org.json pakke. Det angir en uforanderlig (uangripelig) JSONObject-verdi. Objektverdien er en uordnet gruppe av navn-verdi par. Den gir også kart for å vise JSON-objektets navn-verdi-tilordning som ikke kan endres. JSONObject-verdiene kan være Boolean, String, Number, JSONObject, JSONArray, JSONNumber, JSONString, etc. Disse JSONObject-verdiene kan nås ved å bruke de forskjellige tilsvarende tilgangsmetodene.

De få() metoden returnerer en verdi hvis den finner og kaster et unntak hvis verdien ikke ble funnet. Mens opt() metoden returnerer standardverdien i stedet for å kaste unntaket. Verdien kan være null. Det er hovedforskjellen mellom disse to metodene. Derfor er disse to metodene nyttige for å få verdien fra JSONObject. Vi kan kaste eller spørre om et objekt returnert av de generiske metodene get() og opt().

De JSONObject klasse inneholder følgende metoder som vi kan bruke for å hente verdier fra JSONObject.

getBoolean()-metoden

Metoden analyserer et parameternavn av typen String. Den returnerer en boolsk verdi for den relaterte tilordningen for parsens parameter. Den returnerer sann hvis den tilknyttede tilordningen er JsonValue.TRUE og returnerer usann hvis den tilknyttede tilordningen er JsonValue.FALSE.

Syntaks:

 boolean getBoolean(String name) 

Det kaster NullPointerException hvis det angitte navnet ikke har noen tilordning. Det kaster også ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonValue.TRUE eller JsonValue.FALSE.

getInt()-metoden

Den brukes til å få JsonNumber(navn).intValue(). Metoden analyserer et parameternavn av typen String. Den returnerer en heltallsverdi for den tilknyttede tilordningen for den analyserte parameteren.

Syntaks:

hvordan endre streng til int
 int getInt(String name) 

Det kaster NullPointerException hvis det angitte navnet ikke har noen tilordning. Det kaster også ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonNumber.

getJsonArray() metode

Den brukes til å få JsonArray get(navn). Metoden analyserer et argumentnavn av typen String hvis tilhørende verdi skal returneres. Den returnerer en matriseverdi for den tilknyttede tilordningen for parseed-parameteren. Den returnerer null hvis objektet ikke har noen tilordning for parameteren.

Syntaks:

 JsonArray geJsonArray(String name) 

Det kaster ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonArray.

getJsonNumber() metode

Den brukes til å få (JsonNumber)get(navn). Metoden analyserer et argumentnavn av typen String hvis relaterte verdi skal returneres. Den returnerer tallverdien til den tilknyttede tilordningen for parseed-parameteren. Den returnerer null hvis objektet ikke har noen tilordning for parameteren.

Syntaks:

 JsonNumber geJsonNumber(String name) 

Det kaster ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonNumber.

getJsonObject() metode

Den brukes til å få (JsonObject)get(navn). Metoden analyserer et argumentnavn av typen String hvis relaterte verdi skal returneres. Den returnerer objektet til den tilknyttede tilordningen for parsens parameter. Den returnerer null hvis objektet ikke har noen tilordning for parameteren.

Syntaks:

 JsonObject geJsonObject(String name) 

Det kaster ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonObject.

getJsonString() metode

Den brukes til å få (JsonString)get(navn). Metoden analyserer et argumentnavn av typen String hvis relaterte verdi skal returneres. Den returnerer strengverdien til den tilknyttede tilordningen for den analyserte parameteren. Den returnerer null hvis objektet ikke har noen tilordning for parameteren.

Syntaks:

 JsonString geJsonString(String name) 

Det kaster ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonString.

getString() metode

Den brukes til å få getJsonString(navn).getString() . Metoden analyserer et argumentnavn av typen String hvis relaterte verdi skal returneres som String. Den returnerer strengverdien til den tilknyttede tilordningen for den analyserte parameteren.

Syntaks:

 String geString(String name) 

Det kaster NullPointerException hvis det angitte navnet ikke har noen tilordning. Det kaster også ClassCastException den angitte navnetilordningen kan ikke tilordnes JsonString.

La oss lage et program og få verdi fra JSON-objektet ved å bruke metodene ovenfor.

java eksempelkode

Merk: Før du bruker følgende kode, last ned json-20200518.jar fil og legg den til i prosjektet ditt.

Hvordan få verdi fra JSON-objekt i Java Eksempel

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

Produksjon:

Hvordan få verdi fra JSON-objekt i Java Eksempel

La oss bruke et annet JSON-bibliotek og hente verdier fra JSONObject. I det følgende programmet har vi brukt json-enkel bibliotek. Før du bruker følgende program, last ned json-simple-1.1.1.jar-filen og legg den til i prosjektet.

Hvordan få verdi fra JSON-objekt i Java Eksempel

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

Produksjon:

Hvordan få verdi fra JSON-objekt i Java Eksempel