logo

Jak uzyskać wartość z obiektu JSON w przykładzie Java

JSON to format wymiany danych. Jest to szeroko stosowany, lekki i niezależny od języka format. Jest w stanie konwertować dane z JSON na XML. Java udostępnia dużą liczbę pakietów JSON. Za pomocą tych pakietów możemy odzyskać lub pobierz wartość z JSONObject. Użyliśmy dwóch różnych pakietów JSON org.json I org.json.simple . W tej części się dowiemy jak uzyskać wartości z JSONObject w Javie z odpowiednim przykładem.

Co to jest JSONObject w Javie?

W Jawa , Obiekt JSON jest nieuporządkowaną kolekcją zawierającą dane w postaci nazwa-wartość pary. Jest oznaczony jako ciąg znaków otoczony parą nawiasów klamrowych z dwukropkami między nazwami i wartościami. Jego wewnętrzna forma to obiekt, który musi pobierać i umieszczać metody dostępu do wartości według nazwy oraz dodawania i zastępowania wartości według nazwy.

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

W powyższym przykładzie imię, miasto, I wiek to imiona i Johna na Florydzie, I 22 są odpowiednio ich wartościami.

Klasa Java JSONObject

Java udostępnia klasę JSONObject zdefiniowaną w pliku org.json pakiet. Oznacza niezmienną (niepodważalną) wartość JSONObject. Wartość obiektu to niezamówiony Grupa nazwa-wartość pary. Udostępnia także mapę do przeglądania mapowania nazwy i wartości obiektu JSON, którego nie można modyfikować. Wartości JSONObject mogą być Wartość logiczna, ciąg znaków, liczba, JSONObject, JSONArray, JSONNumber, JSONString itp. Dostęp do tych wartości JSONObject można uzyskać za pomocą różnych odpowiednich metod dostępu.

The Dostawać() Metoda zwraca wartość, jeśli znajdzie, i zgłasza wyjątek, jeśli wartość nie została znaleziona. Podczas optować() Metoda zwraca wartość domyślną zamiast zgłaszać wyjątek. Wartość może mieć wartość null. Jest to główna różnica pomiędzy tymi dwiema metodami. Dlatego te dwie metody są przydatne do uzyskania wartości z obiektu JSONObject. Możemy rzutować lub wysyłać zapytania do obiektu zwracanego przez metody ogólne get() i opt().

The Obiekt JSON class zawiera następujące metody, których możemy użyć do pobrania wartości z obiektu JSONObject.

Metoda getBoolean().

Metoda analizuje nazwę parametru typu String. Zwraca wartość logiczną powiązanego mapowania dla parametru analizy. Zwraca wartość true, jeśli powiązane mapowanie to JsonValue.TRUE i zwraca wartość false, jeśli skojarzone mapowanie to JsonValue.FALSE.

Składnia:

 boolean getBoolean(String name) 

Rzuca Wyjątek NullPointer jeśli określona nazwa nie ma mapowania. Również rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonValue.TRUE ani JsonValue.FALSE.

metoda getInt().

Służy do uzyskania JsonNumber(nazwa).intValue(). Metoda analizuje nazwę parametru typu String. Zwraca wartość całkowitą skojarzonego mapowania dla analizowanego parametru.

Składnia:

 int getInt(String name) 

Rzuca Wyjątek NullPointer jeśli określona nazwa nie ma mapowania. Również rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonNumber.

Verma dhanashree

Metoda getJsonArray().

Służy do uzyskania JsonArray get(nazwa). Metoda analizuje nazwę argumentu typu String, z którym ma zostać zwrócona skojarzona wartość. Zwraca wartość tablicową skojarzonego mapowania dla parametru parseed. Zwraca wartość null, jeśli obiekt nie ma mapowania dla parametru.

Składnia:

 JsonArray geJsonArray(String name) 

Rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonArray.

Metoda getJsonNumber().

Służy do uzyskania (JsonNumber)get(nazwa). Metoda analizuje nazwę argumentu typu String, z którym ma zostać zwrócona powiązana wartość. Zwraca wartość liczbową skojarzonego mapowania dla parametru analizowanego. Zwraca wartość null, jeśli obiekt nie ma mapowania dla parametru.

Składnia:

 JsonNumber geJsonNumber(String name) 

Rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonNumber.

Metoda getJsonObject().

Służy do uzyskania (JsonObject)get(nazwa). Metoda analizuje nazwę argumentu typu String, z którym ma zostać zwrócona powiązana wartość. Zwraca obiekt skojarzonego mapowania dla parametru analizy. Zwraca wartość null, jeśli obiekt nie ma mapowania dla parametru.

Składnia:

 JsonObject geJsonObject(String name) 

Rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonObject.

Metoda getJsonString().

Służy do uzyskania (JsonString)get(nazwa). Metoda analizuje nazwę argumentu typu String, z którym ma zostać zwrócona powiązana wartość. Zwraca wartość ciągu skojarzonego mapowania dla analizowanego parametru. Zwraca wartość null, jeśli obiekt nie ma mapowania dla parametru.

Składnia:

 JsonString geJsonString(String name) 

Rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonString.

Metoda getString().

Służy do uzyskania getJsonString(nazwa).getString() . Metoda analizuje nazwę argumentu typu String, którego powiązana wartość ma zostać zwrócona jako String. Zwraca wartość ciągu skojarzonego mapowania dla analizowanego parametru.

Składnia:

 String geString(String name) 

Rzuca Wyjątek NullPointer jeśli określona nazwa nie ma mapowania. Również rzuca Wyjątek ClassCast określonego mapowania nazw nie można przypisać do JsonString.

Stwórzmy program i pobierzmy wartość z obiektu JSON, korzystając z powyższych metod.

Uwaga: Przed użyciem poniższego kodu pobierz plik json-20200518.jar plik i dodaj go do swojego projektu.

Jak uzyskać wartość z obiektu JSON w przykładzie Java

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

Wyjście:

Jak uzyskać wartość z obiektu JSON w przykładzie Java

Użyjmy innej biblioteki JSON i pobierzmy wartości z JSONObject. W poniższym programie użyliśmy json – proste biblioteka. Przed użyciem poniższego programu pobierz plik json-simple-1.1.1.jar i dodaj go do swojego projektu.

Jak uzyskać wartość z obiektu JSON w przykładzie Java

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

Wyjście:

Jak uzyskać wartość z obiektu JSON w przykładzie Java