logo

Arvon saaminen JSON-objektista Java-esimerkissä

JSON on tiedonsiirtomuoto. Se on laajalti käytetty kevyt ja kieliriippumaton formaatti. Se pystyy muuttamaan tiedot JSONista XML-muotoon. Java tarjoaa suuren määrän JSON-paketteja. Näiden pakettien avulla voimme noutaa tai saada arvoa JSONObjectista. Olemme käyttäneet kahta eri JSON-pakettia org.json ja org.json.simple . Tässä osiossa opimme kuinka saada arvot JSONObjectista Javassa oikealla esimerkillä.

Mikä on JSONObject Javassa?

Sisään Java , JSONObject on järjestämätön kokoelma, joka sisältää tietoja muodossa nimi-arvo pareja. Sitä kutsutaan merkkijonoksi, joka on ympäröity kihara aaltosulkeen parilla, jonka nimien ja arvojen välissä on kaksoispiste. Sen sisäinen muoto on objekti, jonka on hankittava ja asetettava menetelmät arvojen saamiseksi nimen perusteella ja arvojen lisäämiseksi ja korvaamiseksi nimellä.

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

Yllä olevassa esimerkissä etunimi, kaupunki, ja ikä ovat nimiä ja John, Florida, ja 22 ovat heidän arvonsa.

paras hentai

Java JSONObject Class

Java tarjoaa JSONObject-luokan, joka on määritelty kohdassa org.json paketti. Se ilmaisee muuttumatonta (haastamatonta) JSONObject-arvoa. Objektin arvo on an tilaamaton ryhmä nimi-arvo pareja. Se tarjoaa myös Map-sovelluksen, jolla voit tarkastella JSON-objektin nimen ja arvon yhdistämistä, jota ei voi muokata. JSONObject-arvot voivat olla Boolen arvo, merkkijono, numero, JSONObject, JSONArray, JSONNumber, JSONString jne. Näitä JSONObject-arvoja voidaan käyttää käyttämällä erilaisia ​​vastaavia apuvälinemenetelmiä.

The saada() Metodi palauttaa arvon, jos se löytää, ja heittää poikkeuksen, jos arvoa ei löydy. Samalla kun valita() menetelmä palauttaa oletusarvon poikkeuksen heittämisen sijaan. Arvo voi olla nolla. Se on tärkein ero näiden kahden menetelmän välillä. Siksi nämä kaksi menetelmää ovat hyödyllisiä arvon saamiseksi JSONObjectista. Voimme lähettää tai kysellä objektia, jonka palauttavat yleiset menetelmät get() ja opt().

The JSONObject luokka sisältää seuraavat menetelmät, joita voimme käyttää arvojen saamiseksi JSONObjectista.

getBoolean() -menetelmä

Menetelmä jäsentää parametrin nimen, jonka tyyppi on String. Se palauttaa jäsennysparametrin liittyvän kuvauksen Boolen arvon. Se palauttaa tosi, jos siihen liittyvä vastaavuus on JsonValue.TRUE, ja palauttaa epätosi, jos siihen liittyvä vastaavuus on JsonValue.FALSE.

Syntaksi:

java tuplaantuu
 boolean getBoolean(String name) 

Se heittää NullPointerException jos määritetyllä nimellä ei ole kartoitusta. Se myös heittää ClassCastException määritettyä nimimääritystä ei voi määrittää JsonValue.TRUE- tai JsonValue.FALSE-arvoon.

getInt()-menetelmä

Sitä käytetään hankkimaan JsonNumber(nimi).intArvo(). Menetelmä jäsentää parametrin nimen, jonka tyyppi on String. Se palauttaa yhdistetyn määrityksen kokonaisluvun jäsennetylle parametrille.

Syntaksi:

 int getInt(String name) 

Se heittää NullPointerException jos määritetyllä nimellä ei ole kartoitusta. Se myös heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonNumberille.

getJsonArray() -menetelmä

Sitä käytetään hankkimaan JsonArray get(nimi). Menetelmä jäsentää argumentin nimen, jonka tyyppi on String ja johon liittyvä arvo palautetaan. Se palauttaa jäsennysparametrin liitetyn vastaavuuden matriisiarvon. Se palauttaa nollan, jos objektilla ei ole kuvausta parametrille.

merkkijonojen vertailu java

Syntaksi:

 JsonArray geJsonArray(String name) 

Se heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonArraylle.

getJsonNumber() -menetelmä

Sitä käytetään hankkimaan (JsonNumber)get(nimi). Metodi jäsentää argumentin nimen, jonka tyyppi on String ja jonka vastaava arvo palautetaan. Se palauttaa jäsennysparametrin liitetyn yhdistämisen numeroarvon. Se palauttaa nollan, jos objektilla ei ole kuvausta parametrille.

Syntaksi:

 JsonNumber geJsonNumber(String name) 

Se heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonNumberille.

getJsonObject() -menetelmä

Sitä käytetään hankkimaan (JsonObject)get(nimi). Metodi jäsentää argumentin nimen, jonka tyyppi on String ja jonka vastaava arvo palautetaan. Se palauttaa jäsennysparametrille liittyvän kuvauksen kohteen. Se palauttaa nollan, jos objektilla ei ole kuvausta parametrille.

Syntaksi:

 JsonObject geJsonObject(String name) 

Se heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonObjectille.

tarkista java-versio linuxissa

getJsonString() -menetelmä

Sitä käytetään hankkimaan (JsonString)get(nimi). Metodi jäsentää argumentin nimen, jonka tyyppi on String ja jonka vastaava arvo palautetaan. Se palauttaa jäsennetyn parametrin liittyvän vastaavuuden merkkijono-arvon. Se palauttaa nollan, jos objektilla ei ole kuvausta parametrille.

Syntaksi:

 JsonString geJsonString(String name) 

Se heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonStringille.

getString() -menetelmä

Sitä käytetään hankkimaan getJsonString(nimi).getString() . Metodi jäsentää argumentin nimen, jonka tyyppi on String ja jonka vastaava arvo palautetaan merkkijonona. Se palauttaa jäsennetyn parametrin liittyvän vastaavuuden merkkijono-arvon.

Syntaksi:

 String geString(String name) 

Se heittää NullPointerException jos määritetyllä nimellä ei ole kartoitusta. Se myös heittää ClassCastException määritettyä nimikartoitusta ei voi määrittää JsonStringille.

Luodaan ohjelma ja hankitaan arvo JSON-objektista käyttämällä yllä olevia menetelmiä.

Huomautus: Ennen kuin käytät seuraavaa koodia, lataa tiedosto json-20200518.jar tiedosto ja lisää se projektiisi.

Arvon saaminen JSON-objektista Java-esimerkissä

GetValueFromJsonExample.java

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

Lähtö:

Arvon saaminen JSON-objektista Java-esimerkissä

Käytetään toista JSON-kirjastoa ja hankitaan arvot JSONObjectista. Seuraavassa ohjelmassa olemme käyttäneet json-yksinkertaista kirjasto. Ennen kuin käytät seuraavaa ohjelmaa, lataa json-simple-1.1.1.jar-tiedosto ja lisää se projektiisi.

Arvon saaminen JSON-objektista Java-esimerkissä

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

Lähtö:

Arvon saaminen JSON-objektista Java-esimerkissä