חזר על JSON Array Java
על מנת לקרוא ולכתוב נתוני JSON ב-Java, אנו משתמשים org.json סִפְרִיָה. ה org.json הספרייה מאפשרת לנו לקודד ולפענח נתוני JSON ב-Java. ה org.json class מספקים מספר מחלקות חשובות שדרכן נוכל לבצע מספר פעולות על נתוני JSON אלה. שיעורים אלה הם כדלקמן:
- JSONObject
- JSONValue
- JSONArray
- JSONNumber
- JSONString
אלו הם השלבים הבאים לחזרה על מערך JSON ב-Java:
1) צור א מייבן פרוייקט ולהוסיף json תלות ב POM.xml קוֹבֶץ.
org.json json 20160810
2) צור מחרוזת של נתוני JSON אותה אנו ממירים לאובייקט JSON כדי לתפעל את הנתונים שלו.
3) לאחר מכן, אנו מקבלים את מערך JSON מ-JSON Object באמצעות getJSONArray() שיטה ואחסן אותו במשתנה מסוג JSONArray.
4) ה getJSONArray() השיטה לוקחת את שם המערך כמחרוזת לשליפה מהאובייקט.
5) לאחר מכן אנו משתמשים בלולאת for מ-0 ל-JSONArray.length(). שיטת length() מחזירה את גודל המערך.
6) אנו מאחסנים כל רשומת אינדקס ב-JSONObject. על מנת לקבל את אובייקט JSON של אינדקס מסוים, אנו משתמשים בשיטת getJSONObject() של JSONArray.
7) כדי לקבל ערך של שדה מוגדר, אנו משתמשים בשיטת get() של ה-JSONObject על ידי העברת שם השדה כמחרוזת בשיטת get() .
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();>