Iterieren Sie das JSON-Array Java
Um JSON-Daten in Java zu lesen und zu schreiben, verwenden wir org.json Bibliothek. Der org.json Mit der Bibliothek können wir JSON-Daten in Java kodieren und dekodieren. Der org.json Die Klasse stellt mehrere wichtige Klassen bereit, mit denen wir verschiedene Operationen an diesen JSON-Daten durchführen können. Diese Klassen sind wie folgt:
- JSONObject
- JSONValue
- JSONArray
- JSONNumber
- JSONString
Dies sind die folgenden Schritte zum Iterieren eines JSON-Arrays in Java:
1) Erstellen Sie eine Maven Projekt und hinzufügen json Abhängigkeit in POM.xml Datei.
org.json json 20160810
2) Erstellen Sie eine Zeichenfolge mit JSON-Daten, die wir in ein JSON-Objekt konvertieren, um dessen Daten zu bearbeiten.
3) Danach erhalten wir das JSON-Array aus dem JSON-Objekt mithilfe von getJSONArray() Methode und speichern Sie sie in einer Variablen vom Typ JSONArray.
4) Die getJSONArray() Die Methode verwendet den Array-Namen als Zeichenfolge, um sie vom Objekt abzurufen.
5) Wir verwenden dann eine for-Schleife von 0 bis JSONArray.length(). Die Methode length() gibt die Größe des Arrays zurück.
6) Wir speichern jeden Indexdatensatz in einem JSONObject. Um das JSON-Objekt eines bestimmten Index abzurufen, verwenden wir die Methode getJSONObject() von JSONArray.
7) Um einen Wert eines bestimmten Felds zu erhalten, verwenden wir die get()-Methode des JSONObject, indem wir den Feldnamen als String in der get()-Methode übergeben.
JSONExample.java
// import required packages package javaTpoint.JSONExample; //import required classes import org.json.JSONArray; import org.json.JSONObject; // create JSONExample class to iterate JSON Array public class JSONExample{ //main() method start public static void main(String args[]){ // create an string of JSON data String jsonData = '{'locations':[{'lat':'23.053','long':'72.629','location':'ABC','address':'DEF','city':'Ahmedabad','state':'Gujrat','phonenumber':'1234567'},{'lat':'21.013','long':'52.619','location':'XYZ','address':'MNP','city':'Ghaziabad','state':'UP','phonenumber':'212321'}]}'; // convert JSON string into JSON Object using JSONObject() method JSONObject json = new JSONObject(jsonData); // get locations array from the JSON Object and store it into JSONArray JSONArray jsonArray = json.getJSONArray('locations'); // Iterate jsonArray using for loop for (int i = 0; i <jsonarray.length(); i++) { store each object in jsonobject explrobject="jsonArray.getJSONObject(i);" get field value from using get() method system.out.println(explrobject.get('address')); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/10/iterate-json-array-java-2.webp" alt="Iterate JSON Array Java"> <p> <strong>JSONExample2.java</strong> </p> <pre> //import package package javaTpoint.JSONExample; // import require classes import java.io.FileWriter; import java.io.IOException; import org.json.simple.JSONArray; import org.json.simple.JSONObject; // create class JSONExample1 public class JSONExample1 { // main() method start public static void main(String[] args) { // create instance of JSONObject JSONObject jsonObject = new JSONObject(); // use put() method for inserting the data into JSON object jsonObject.put('name', 'Abhishek Sharma'); jsonObject.put('department','B.E'); jsonObject.put('branch', 'C.S.E'); jsonObject.put('year', 3); //create JSON Array and store record into JSONObject JSONArray list1 = new JSONArray(); list1.add('Julia'); list1.add('Paul'); list1.add('Emma'); jsonObject.put('Names', list1); JSONArray list2 = new JSONArray(); list2.add('BCA'); list2.add('B.Tech'); list2.add('MCA'); jsonObject.put('Course', list2); JSONArray list3 = new JSONArray(); list3.add('3'); list3.add('4'); list3.add('2'); jsonObject.put('Year', list3); // create instance of the FileWriter class by passing the path of the file in the constructor try (FileWriter file = new FileWriter('D:\newfile.json')) { // use write() method to add JSONObject into file file.write(jsonObject.toJSONString()); file.flush(); } catch (IOException e) { e.printStackTrace(); } // get locations array from the JSON Object and store it into JSONArray JSONArray jsonArray = (JSONArray) jsonObject.get('Names'); // Iterate jsonArray using for loop for (int i = 0; i <jsonarray.size(); i++) { get field value from json array system.out.println(jsonarray.get(i)); } < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/java-tutorial/10/iterate-json-array-java-3.webp" alt="Iterate JSON Array Java"> <hr></jsonarray.size();></pre></jsonarray.length();>