logo

Sådan får du værdi fra JSON-objekt i Java-eksempel

JSON er et dataudvekslingsformat. Det er et meget brugt letvægts- og sproguafhængigt format. Det er i stand til at konvertere data fra JSON til XML. Java giver et stort antal JSON-pakker. Ved hjælp af disse pakker kan vi hente el få værdi fra JSONObject. Vi har brugt de to forskellige JSON-pakker org.json og org.json.simple . I dette afsnit vil vi lære hvordan man får værdier fra JSONObject i Java med et korrekt eksempel.

Hvad er JSONObject i Java?

I Java , JSONObject er en uordnet samling, der indeholder data i form af navn-værdi par. Det er angivet som strengen indhyllet i et par krøllede seler med koloner mellem navnene og værdierne. Dens interne form er et objekt, der skal hente og sætte metoder til at få adgang til værdierne ved navn og tilføje og erstatte værdier med navn.

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

I ovenstående eksempel, fornavn, by, og alder er navne, og John, Florida, og 22 er deres værdier, hhv.

Java JSONObject Class

Java leverer JSONObject-klassen, der er defineret i org.json pakke. Det angiver en uforanderlig (uanfægtelig) JSONObject-værdi. Objektværdien er en uordnet gruppe af navn-værdi par. Det giver også kort til at se JSON-objektets navn-værdi-tilknytning, som ikke kan ændres. JSONObject-værdierne kan være Boolean, String, Number, JSONObject, JSONArray, JSONNumber, JSONString osv. Disse JSONObject-værdier kan tilgås ved at bruge de forskellige tilsvarende accessormetoder.

Det få() metode returnerer en værdi, hvis den finder og kaster en undtagelse, hvis værdien ikke findes. Mens opt() metoden returnerer standardværdien i stedet for at kaste undtagelsen. Værdien kan være nul. Det er hovedforskellen mellem disse to metoder. Derfor er disse to metoder nyttige til at få værdien fra JSONObject. Vi kan caste eller forespørge på et objekt returneret af de generiske metoder get() og opt().

Det JSONObject klasse indeholder følgende metoder, som vi kan bruge til at hente værdier fra JSONObject.

getBoolean() metode

Metoden analyserer et parameternavn af typen String. Det returnerer en boolsk værdi af den relaterede mapping for parsens parameter. Den returnerer sand, hvis den tilknyttede mapping er JsonValue.TRUE og returnerer falsk, hvis den tilknyttede mapping er JsonValue.FALSE.

Syntaks:

 boolean getBoolean(String name) 

Det kaster NullPointerException hvis det angivne navn ikke har nogen tilknytning. Den kaster også ClassCastException den angivne navnetilknytning kan ikke tildeles til JsonValue.TRUE eller JsonValue.FALSE.

getInt()-metoden

Det bruges til at få JsonNumber(navn).intValue(). Metoden analyserer et parameternavn af typen String. Det returnerer en heltalsværdi af den tilknyttede tilknytning for den parsede parameter.

Syntaks:

hvordan man ændrer streng til int
 int getInt(String name) 

Det kaster NullPointerException hvis det angivne navn ikke har nogen tilknytning. Den kaster også ClassCastException den angivne navnetilknytning kan ikke tildeles JsonNumber.

getJsonArray() metode

Det bruges til at få JsonArray get(navn). Metoden analyserer et argumentnavn af typen String, hvis tilknyttede værdi skal returneres. Det returnerer en matrixværdi for den tilknyttede mapping for parseed-parameteren. Det returnerer null, hvis objektet ikke har nogen tilknytning til parameteren.

Syntaks:

 JsonArray geJsonArray(String name) 

Det kaster ClassCastException den angivne navnetilknytning kan ikke tildeles JsonArray.

getJsonNumber() metode

Det bruges til at få (JsonNumber)get(navn). Metoden analyserer et argumentnavn af typen String, hvis relaterede værdi skal returneres. Det returnerer talværdien af ​​den tilknyttede tilknytning for parseed-parameteren. Det returnerer null, hvis objektet ikke har nogen tilknytning til parameteren.

Syntaks:

 JsonNumber geJsonNumber(String name) 

Det kaster ClassCastException den angivne navnetilknytning kan ikke tildeles JsonNumber.

getJsonObject() metode

Det bruges til at få (JsonObject)get(navn). Metoden analyserer et argumentnavn af typen String, hvis relaterede værdi skal returneres. Det returnerer objektet for den tilknyttede mapping for parsens parameter. Det returnerer null, hvis objektet ikke har nogen tilknytning til parameteren.

Syntaks:

 JsonObject geJsonObject(String name) 

Det kaster ClassCastException den angivne navnetilknytning kan ikke tildeles JsonObject.

getJsonString() metode

Det bruges til at få (JsonString)get(navn). Metoden analyserer et argumentnavn af typen String, hvis relaterede værdi skal returneres. Det returnerer strengværdien for den tilknyttede tilknytning for den parsede parameter. Det returnerer null, hvis objektet ikke har nogen tilknytning til parameteren.

Syntaks:

 JsonString geJsonString(String name) 

Det kaster ClassCastException den angivne navnetilknytning kan ikke tildeles JsonString.

getString() metode

Det bruges til at få getJsonString(navn).getString() . Metoden analyserer et argumentnavn af typen String, hvis relaterede værdi skal returneres som String. Det returnerer strengværdien for den tilknyttede tilknytning for den parsede parameter.

Syntaks:

 String geString(String name) 

Det kaster NullPointerException hvis det angivne navn ikke har nogen tilknytning. Den kaster også ClassCastException den angivne navnetilknytning kan ikke tildeles JsonString.

Lad os oprette et program og få værdi fra JSON-objektet ved at bruge ovenstående metoder.

java prøvekode

Bemærk: Før du bruger følgende kode, download json-20200518.jar fil og føj den til dit projekt.

Sådan får du værdi 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'); } } 

Produktion:

Sådan får du værdi fra JSON-objekt i Java-eksempel

Lad os bruge et andet JSON-bibliotek og hente værdier fra JSONObject. I det følgende program har vi brugt json-simpel bibliotek. Før du bruger følgende program, skal du downloade filen json-simple-1.1.1.jar og tilføje den til dit projekt.

Sådan får du værdi 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); } } 

Produktion:

Sådan får du værdi fra JSON-objekt i Java-eksempel