logo

So erhalten Sie einen Wert aus einem JSON-Objekt in einem Java-Beispiel

JSON ist ein Datenaustauschformat. Es handelt sich um ein weit verbreitetes, leichtes und sprachunabhängiges Format. Es ist in der Lage, Daten von JSON in XML zu konvertieren. Java bietet eine große Anzahl von JSON-Paketen. Mit Hilfe dieser Pakete können wir oder abrufen Wert von JSONObject abrufen. Wir haben die beiden unterschiedlichen JSON-Pakete verwendet org.json Und org.json.simple . In diesem Abschnitt werden wir lernen Wie man Werte von JSONObject in Java anhand eines geeigneten Beispiels erhält.

Was ist JSONObject in Java?

In Java , JSONObject ist eine ungeordnete Sammlung, die Daten in Form von enthält Name-Wert Paare. Es wird als Zeichenfolge bezeichnet, die in ein Paar geschweifter Klammern mit Doppelpunkten zwischen den Namen und Werten eingeschlossen ist. Seine interne Form ist ein Objekt, das Get- und Put-Methoden zum Zugriff auf die Werte nach Namen und zum Hinzufügen und Ersetzen von Werten nach Namen benötigt.

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

Im obigen Beispiel Vorname, Stadt, Und Alter sind Namen, und John, Florida, Und 22 sind jeweils ihre Werte.

Java JSONObject-Klasse

Java stellt die JSONObject-Klasse bereit, die in definiert ist org.json Paket. Es bezeichnet einen unveränderlichen (unanfechtbaren) JSONObject-Wert. Der Objektwert ist ein ungeordnet Gruppe von Name-Wert Paare. Es bietet außerdem Map zum Anzeigen der Namen-Wert-Zuordnung des JSON-Objekts, die nicht geändert werden kann. Die JSONObject-Werte können sein Boolescher Wert, String, Zahl, JSONObject, JSONArray, JSONNumber, JSONString usw. Auf diese JSONObject-Werte kann mithilfe der verschiedenen entsprechenden Zugriffsmethoden zugegriffen werden.

Der erhalten() Die Methode gibt einen Wert zurück, wenn sie einen Wert findet, und löst eine Ausnahme aus, wenn der Wert nicht gefunden wird. Während opt() Die Methode gibt den Standardwert zurück, anstatt die Ausnahme auszulösen. Der Wert kann null sein. Dies ist der Hauptunterschied zwischen diesen beiden Methoden. Daher sind diese beiden Methoden nützlich, um den Wert aus dem JSONObject abzurufen. Wir können ein von den generischen Methoden get() und opt() zurückgegebenes Objekt umwandeln oder abfragen.

entspricht einer Zeichenfolge in Java

Der JSONObject Die Klasse enthält die folgenden Methoden, mit denen wir Werte aus dem JSONObject abrufen können.

getBoolean()-Methode

Die Methode analysiert einen Parameternamen vom Typ String. Es gibt einen booleschen Wert der zugehörigen Zuordnung für den Parse-Parameter zurück. Es gibt „true“ zurück, wenn die zugehörige Zuordnung JsonValue.TRUE ist, und gibt „false“ zurück, wenn die zugehörige Zuordnung JsonValue.FALSE ist.

Syntax:

 boolean getBoolean(String name) 

Es wirft NullPointerException wenn der angegebene Name keine Zuordnung hat. Es wirft auch ClassCastException Die angegebene Namenszuordnung kann nicht JsonValue.TRUE oder JsonValue.FALSE zugewiesen werden.

getInt()Methode

Es wird verwendet, um das zu bekommen JsonNumber(name).intValue(). Die Methode analysiert einen Parameternamen vom Typ String. Es gibt einen ganzzahligen Wert der zugehörigen Zuordnung für den analysierten Parameter zurück.

Syntax:

 int getInt(String name) 

Es wirft NullPointerException wenn der angegebene Name keine Zuordnung hat. Es wirft auch ClassCastException Die angegebene Namenszuordnung kann JsonNumber nicht zugewiesen werden.

getJsonArray()-Methode

Es wird verwendet, um das zu bekommen JsonArray get(name). Die Methode analysiert einen Argumentnamen vom Typ String, dessen zugehöriger Wert zurückgegeben werden soll. Es gibt einen Array-Wert der zugehörigen Zuordnung für den Parseed-Parameter zurück. Es gibt null zurück, wenn das Objekt keine Zuordnung für den Parameter hat.

Syntax:

 JsonArray geJsonArray(String name) 

Es wirft ClassCastException Die angegebene Namenszuordnung kann JsonArray nicht zugewiesen werden.

char + int in Java

getJsonNumber()-Methode

Es wird verwendet, um das zu bekommen (JsonNumber)get(name). Die Methode analysiert einen Argumentnamen vom Typ String, dessen zugehöriger Wert zurückgegeben werden soll. Es gibt den Zahlenwert der zugehörigen Zuordnung für den Parseed-Parameter zurück. Es gibt null zurück, wenn das Objekt keine Zuordnung für den Parameter hat.

Syntax:

 JsonNumber geJsonNumber(String name) 

Es wirft ClassCastException Die angegebene Namenszuordnung kann JsonNumber nicht zugewiesen werden.

getJsonObject()-Methode

Es wird verwendet, um das zu bekommen (JsonObject)get(name). Die Methode analysiert einen Argumentnamen vom Typ String, dessen zugehöriger Wert zurückgegeben werden soll. Es gibt das Objekt der zugehörigen Zuordnung für den Parse-Parameter zurück. Es gibt null zurück, wenn das Objekt keine Zuordnung für den Parameter hat.

Syntax:

 JsonObject geJsonObject(String name) 

Es wirft ClassCastException Die angegebene Namenszuordnung kann JsonObject nicht zugewiesen werden.

getJsonString()-Methode

Es wird verwendet, um das zu erhalten (JsonString)get(name). Die Methode analysiert einen Argumentnamen vom Typ String, dessen zugehöriger Wert zurückgegeben werden soll. Es gibt den String-Wert der zugehörigen Zuordnung für den analysierten Parameter zurück. Es gibt null zurück, wenn das Objekt keine Zuordnung für den Parameter hat.

Syntax:

 JsonString geJsonString(String name) 

Es wirft ClassCastException Die angegebene Namenszuordnung kann JsonString nicht zugewiesen werden.

getString()-Methode

Es wird verwendet, um das zu erhalten getJsonString(name).getString() . Die Methode analysiert einen Argumentnamen vom Typ String, dessen zugehöriger Wert als String zurückgegeben werden soll. Es gibt den String-Wert der zugehörigen Zuordnung für den analysierten Parameter zurück.

Syntax:

 String geString(String name) 

Es wirft NullPointerException wenn der angegebene Name keine Zuordnung hat. Es wirft auch ClassCastException Die angegebene Namenszuordnung kann JsonString nicht zugewiesen werden.

Lassen Sie uns ein Programm erstellen und mithilfe der oben genannten Methoden einen Wert aus dem JSON-Objekt abrufen.

Hinweis: Bevor Sie den folgenden Code verwenden, Laden Sie die Datei json-20200518.jar herunter Datei und fügen Sie sie Ihrem Projekt hinzu.

So erhalten Sie einen Wert aus einem JSON-Objekt in einem Java-Beispiel

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

Ausgabe:

So erhalten Sie einen Wert aus einem JSON-Objekt in einem Java-Beispiel

Lassen Sie uns eine andere JSON-Bibliothek verwenden und Werte aus dem JSONObject abrufen. Im folgenden Programm haben wir das verwendet json-einfach Bibliothek. Bevor Sie das folgende Programm verwenden, laden Sie die Datei json-simple-1.1.1.jar herunter und fügen Sie sie Ihrem Projekt hinzu.

So erhalten Sie einen Wert aus einem JSON-Objekt in einem Java-Beispiel

GetValueFromJsonObjectExample.java

Zahl zum String 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); } } 

Ausgabe:

So erhalten Sie einen Wert aus einem JSON-Objekt in einem Java-Beispiel