JSON ir datu apmaiņas formāts. Tas ir plaši izmantots viegls un no valodas neatkarīgs formāts. Tas spēj konvertēt datus no JSON uz XML. Java nodrošina lielu skaitu JSON pakotņu. Ar šo paku palīdzību varam izgūt vai iegūstiet vērtību no JSONObject. Mēs esam izmantojuši divas dažādas JSON pakotnes org.json un org.json.simple . Šajā sadaļā mēs uzzināsim kā iegūt vērtības no JSONObject Java ar atbilstošu piemēru.
Kas ir JSONObject Java?
In Java , JSONObject ir nesakārtota kolekcija, kas satur datus formā nosaukums-vērtība pāriem. Tas tiek apzīmēts kā virkne, kas ietverta cirtainu lencēm ar koliem starp nosaukumiem un vērtībām. Tā iekšējā forma ir objekts, kuram ir jāiegūst un jāievieto metodes, lai piekļūtu vērtībām pēc nosaukuma un pievienotu un aizstātu vērtības pēc nosaukuma.
python ierakstiet json failā
{ 'first name': 'John', 'city': 'Florida', 'age': '22' },
Iepriekš minētajā piemērā vārds, pilsēta, un vecums ir vārdi un Džons, Florida, un 22 ir viņu vērtības, attiecīgi.
Java JSONObject Class
Java nodrošina JSONObject klasi, kas ir definēta org.json iepakojums. Tas apzīmē nemainīgu (neapstrīdamu) JSONObject vērtību. Objekta vērtība ir an nesakārtots grupa no nosaukums-vērtība pāriem. Tas arī nodrošina karti, lai skatītu JSON objekta nosaukuma-vērtības kartējumu, kas nav modificējams. JSONObject vērtības var būt Būla, virkne, numurs, JSONObject, JSONArray, JSONNumber, JSONString utt. Šīm JSONObject vērtībām var piekļūt, izmantojot dažādas atbilstošās piekļuves metodes.
The gūt() metode atgriež vērtību, ja tā tiek atrasta, un izdod izņēmumu, ja vērtība nav atrasta. Kamēr izvēlēties() metode atgriež noklusējuma vērtību, nevis izmet izņēmumu. Vērtība var būt nulle. Tā ir galvenā atšķirība starp šīm divām metodēm. Tādējādi šīs divas metodes ir noderīgas, lai iegūtu vērtību no JSONObject. Mēs varam apraidīt vai vaicāt objektu, kas atgriezts ar vispārīgām metodēm get() un opt().
The JSONObject klasē ir šādas metodes, kuras mēs varam izmantot, lai iegūtu vērtības no JSONObject.
getBoolean() metode
Metode parsē parametra nosaukumu, kura tips ir String. Tas atgriež parsēšanas parametra saistītā kartējuma Būla vērtību. Tas atgriež patiesu, ja saistītā kartēšana ir JsonValue.TRUE, un atgriež vērtību false, ja saistītā kartēšana ir JsonValue.FALSE.
Sintakse:
boolean getBoolean(String name)
Tas met NullPointerException ja norādītajam nosaukumam nav kartēšanas. Tā arī met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonValue.TRUE vai JsonValue.FALSE.
getInt() metode
To izmanto, lai iegūtu JsonNumber(nosaukums).intValue(). Metode parsē parametra nosaukumu, kura tips ir String. Tas atgriež parsētajam parametram saistītās kartēšanas veselu skaitļa vērtību.
Sintakse:
izsaukt javascript funkciju no html
int getInt(String name)
Tas met NullPointerException ja norādītajam nosaukumam nav kartēšanas. Tā arī met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonNumber.
getJsonArray() metode
To izmanto, lai iegūtu JsonArray get(nosaukums). Metode parsē argumenta nosaukumu ar tipu String, kura saistītā vērtība ir jāatgriež. Tas atgriež parsēšanas parametra saistītā kartējuma masīva vērtību. Tas atgriež nulli, ja objektam nav kartēšanas parametram.
Sintakse:
JsonArray geJsonArray(String name)
Tas met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonArray.
getJsonNumber() metode
To izmanto, lai iegūtu (JsonNumber)get(name). Metode parsē argumenta nosaukumu ar tipu String, kura saistītā vērtība ir jāatgriež. Tas atgriež parsēšanas parametra saistītā kartējuma skaitļa vērtību. Tas atgriež nulli, ja objektam nav kartēšanas parametram.
kobola programmēšana
Sintakse:
JsonNumber geJsonNumber(String name)
Tas met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonNumber.
getJsonObject() metode
To izmanto, lai iegūtu (JsonObject) get(name). Metode parsē argumenta nosaukumu ar tipu String, kura saistītā vērtība ir jāatgriež. Tas atgriež saistītās kartēšanas objektu parsēšanas parametram. Tas atgriež nulli, ja objektam nav kartēšanas parametram.
abc ar cipariem
Sintakse:
JsonObject geJsonObject(String name)
Tas met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonObject.
getJsonString() metode
To izmanto, lai iegūtu (JsonString) get(name). Metode parsē argumenta nosaukumu ar tipu String, kura saistītā vērtība ir jāatgriež. Tas atgriež parsētajam parametram saistītās kartēšanas virknes vērtību. Tas atgriež nulli, ja objektam nav kartēšanas parametram.
Sintakse:
JsonString geJsonString(String name)
Tas met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonString.
getString() metode
To izmanto, lai iegūtu getJsonString(nosaukums).getString() . Metode parsē argumenta nosaukumu ar tipu String, kura saistītā vērtība ir jāatgriež kā String. Tas atgriež parsētajam parametram saistītās kartēšanas virknes vērtību.
Sintakse:
virkņu masīvs
String geString(String name)
Tas met NullPointerException ja norādītajam nosaukumam nav kartēšanas. Tā arī met ClassCastException norādītā nosaukuma kartēšana nav piešķirama JsonString.
Izveidosim programmu un iegūsim vērtību no JSON objekta, izmantojot iepriekš minētās metodes.
Piezīme. Pirms izmantojat šo kodu, lejupielādējiet failu json-20200518.jar failu un pievienojiet to savam projektam.
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'); } }
Izvade:
Izmantosim citu JSON bibliotēku un iegūsim vērtības no JSONObject. Nākamajā programmā mēs esam izmantojuši json-vienkāršs bibliotēka. Pirms šīs programmas izmantošanas lejupielādējiet failu json-simple-1.1.1.jar un pievienojiet to savam projektam.
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); } }
Izvade: