JSON yra duomenų mainų formatas. Tai plačiai naudojamas lengvas ir nuo kalbos nepriklausomas formatas. Jis gali konvertuoti duomenis iš JSON į XML. „Java“ teikia daugybę JSON paketų. Šių paketų pagalba galime atgauti arba gaukite vertę iš JSONObject. Naudojome du skirtingus JSON paketus org.json ir org.json.simple . Šiame skyriuje mes išmoksime kaip gauti reikšmes iš JSONObject Java naudojant tinkamą pavyzdį.
tcp ip modelis
Kas yra JSONObject Java?
Į Java , JSONObject yra netvarkingas rinkinys, kuriame yra duomenų forma vardo vertė porų. Ji žymima kaip eilutė, apgaubta garbanotų petnešų pora su dvitaškiais tarp pavadinimų ir verčių. Jo vidinė forma yra objektas, turintis gauti ir įdėti metodus, kaip pasiekti reikšmes pagal pavadinimą ir pridėti bei pakeisti reikšmes pavadinimu.
{ 'first name': 'John', 'city': 'Florida', 'age': '22' },
Aukščiau pateiktame pavyzdyje vardas, miestas, ir amžiaus yra vardai ir Džonas, Florida, ir 22 yra atitinkamai jų vertybės.
Java JSONObject klasė
„Java“ suteikia JSONObject klasę, kuri yra apibrėžta org.json paketą. Tai reiškia nekeičiamą (neginčijamą) JSONObject reikšmę. Objekto reikšmė yra an netvarkingas grupė vardo vertė porų. Jame taip pat pateikiamas žemėlapis, kad būtų galima peržiūrėti nekeičiamą JSON objekto pavadinimo ir reikšmės susiejimą. JSONObject reikšmės gali būti Būlio reikšmė, eilutė, skaičius, JSONObject, JSONArray, JSONNumber, JSONString ir kt. Šias JSONObject reikšmes galima pasiekti naudojant įvairius atitinkamus priedų metodus.
The gauti () metodas grąžina reikšmę, jei randa, ir pateikia išimtį, jei reikšmė nerasta. Kol pasirinkti () metodas grąžina numatytąją reikšmę, o ne išmes išimtį. Vertė gali būti nulinė. Tai yra pagrindinis šių dviejų metodų skirtumas. Taigi šie du metodai yra naudingi norint gauti vertę iš JSONObject. Mes galime perduoti arba pateikti užklausą apie objektą, grąžintą bendraisiais metodais get() ir opt().
The JSONObject klasėje yra šie metodai, kuriuos galime naudoti norėdami gauti reikšmes iš JSONObject.
getBoolean() metodas
Metodas analizuoja parametro pavadinimą, kurio tipas yra String. Jis grąžina atitinkamo analizavimo parametro susiejimo Būlio reikšmę. Jis grąžina teisingą, jei susietas susiejimas yra JsonValue.TRUE, ir grąžina false, jei susietas susiejimas yra JsonValue.FALSE.
Sintaksė:
boolean getBoolean(String name)
Tai meta NullPointerException jei nurodytas pavadinimas neturi susiejimo. Taip pat meta ClassCastException nurodytas vardo susiejimas nepriskiriamas JsonValue.TRUE arba JsonValue.FALSE.
getInt()metodas
Jis naudojamas norint gauti JsonNumber(vardas).intValue(). Metodas analizuoja parametro pavadinimą, kurio tipas yra String. Jis grąžina sveikąjį skaičių, susijusį išnagrinėto parametro susiejimą.
Sintaksė:
int getInt(String name)
Tai meta NullPointerException jei nurodytas pavadinimas neturi susiejimo. Taip pat meta ClassCastException nurodytas vardo susiejimas nepriskiriamas JsonNumber.
getJsonArray() metodas
Jis naudojamas norint gauti JsonArray get(vardas). Metodas analizuoja argumento pavadinimą, kurio tipas yra String, su kuriuo susijusi reikšmė turi būti grąžinta. Jis grąžina analizuojamo parametro susieto susiejimo masyvo reikšmę. Jis grąžina nulį, jei objektas neturi parametro atvaizdavimo.
Sintaksė:
fmoviez
JsonArray geJsonArray(String name)
Tai meta ClassCastException nurodytas pavadinimo susiejimas nepriskiriamas JsonArray.
getJsonNumber() metodas
Jis naudojamas norint gauti (JsonNumber)gauti(vardas). Metodas analizuoja argumento pavadinimą, kurio tipas yra String, kurio susijusi reikšmė turi būti grąžinta. Jis grąžina analizuojamo parametro susieto susiejimo skaičiaus reikšmę. Jis grąžina nulį, jei objektas neturi parametro atvaizdavimo.
Sintaksė:
JsonNumber geJsonNumber(String name)
Tai meta ClassCastException nurodytas vardo susiejimas nepriskiriamas JsonNumber.
getJsonObject() metodas
Jis naudojamas norint gauti (JsonObject)gauti(vardas). Metodas analizuoja argumento pavadinimą, kurio tipas yra String, kurio susijusi reikšmė turi būti grąžinta. Jis grąžina analizavimo parametro susieto susiejimo objektą. Jis grąžina nulį, jei objektas neturi parametro atvaizdavimo.
Sintaksė:
JsonObject geJsonObject(String name)
Tai meta ClassCastException nurodytas pavadinimo susiejimas nepriskiriamas JsonObject.
kampinė medžiaga
getJsonString() metodas
Jis naudojamas norint gauti (JsonString)gauti(vardas). Metodas analizuoja argumento pavadinimą, kurio tipas yra String, kurio susijusi reikšmė turi būti grąžinta. Jis grąžina analizuojamo parametro susieto susiejimo eilutės reikšmę. Jis grąžina nulį, jei objektas neturi parametro atvaizdavimo.
Sintaksė:
JsonString geJsonString(String name)
Tai meta ClassCastException nurodytas vardo susiejimas nepriskiriamas JsonString.
getString() metodas
Jis naudojamas norint gauti getJsonString(vardas).getString() . Metodas analizuoja argumento pavadinimą, kurio tipas yra String, kurio susijusi reikšmė turi būti grąžinta kaip eilutė. Jis grąžina analizuojamo parametro susieto susiejimo eilutės reikšmę.
Sintaksė:
String geString(String name)
Tai meta NullPointerException jei nurodytas pavadinimas neturi susiejimo. Taip pat meta ClassCastException nurodytas vardo susiejimas nepriskiriamas JsonString.
python inicijavimo sąrašas
Sukurkime programą ir gaukime vertę iš JSON objekto naudodami aukščiau nurodytus metodus.
Pastaba: prieš naudodami šį kodą, atsisiųskite json-20200518.jar failą ir pridėkite jį prie savo projekto.
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'); } }
Išvestis:
Naudokime kitą JSON biblioteką ir gaukime reikšmes iš JSONObject. Šioje programoje mes naudojome json-paprastas biblioteka. Prieš naudodami šią programą, atsisiųskite failą json-simple-1.1.1.jar ir pridėkite jį prie projekto.
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); } }
Išvestis: