JSON 배열 Java 반복
Java에서 JSON 데이터를 읽고 쓰려면 다음을 사용합니다. org.json 도서관. 그만큼 org.json 라이브러리를 사용하면 Java에서 JSON 데이터를 인코딩하고 디코딩할 수 있습니다. 그만큼 org.json 클래스는 해당 JSON 데이터에 대해 여러 작업을 수행할 수 있는 몇 가지 중요한 클래스를 제공합니다. 이러한 수업은 다음과 같습니다.
- JSON객체
- JSON값
- JSONArray
- JSON번호
- JSON문자열
Java에서 JSON 배열을 반복하는 단계는 다음과 같습니다.
1) 만들기 메이븐 프로젝트 및 추가 JSON 의존성 POM.xml 파일.
org.json json 20160810
2) 데이터를 조작하기 위해 JSON 개체로 변환하는 JSON 데이터 문자열을 만듭니다.
3) 그런 다음 다음을 사용하여 JSON 개체에서 JSON 배열을 가져옵니다. getJSONArray() 메소드를 생성하여 JSONArray 유형의 변수에 저장합니다.
4) getJSONArray() 메소드는 객체에서 검색하기 위해 배열 이름을 문자열로 사용합니다.
5) 그런 다음 0부터 JSONArray.length()까지 for 루프를 사용합니다. length() 메소드는 배열의 크기를 반환합니다.
6) 각 인덱스 레코드를 JSONObject에 저장합니다. 특정 인덱스의 JSON 객체를 얻으려면 JSONArray의 getJSONObject() 메서드를 사용합니다.
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();>