JAVA

JAVA JSONObject

아이티프로 2023. 1. 23.
반응형

JSONObject - {:, :, :, :}

JSONArray – [JSONObject, JSONObject, …]

[{:, :, :, :}, {:, :, :, :},  ..]

 형태로 구성된다. 

 

JSONArray는 자바의 ArrayList컬렉션과 비슷하고

JSONObject는 자바의 HashMap컬렉션과 비슷하다.

 

JSONArray는 get(인덱스순번)으로 가져오고

JSONObject는 get(키)로 가져온다.

 

JSON을 다루는 라이브러리가 많고, 그 라이브러리마다 사용법이 다르다.  리스트 속의 아이템을 어떻게 끄집어내는지와 리스트에 아이템을 어떻게 집어넣는지에 집중해서 확인해 보면 된다. 

 

JSON
결과

 

package javaStudy;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class JSONExam {
    @SuppressWarnings("unchecked")
	public static void main(String[] args) {
        System.out.println("------------------------------------------------------");
        System.out.println("JSON String 생성");
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "유혁");
        //    "name":"유혁"
        JSONArray jsonArray = new JSONArray();
        JSONObject school = new JSONObject();
        school.put("subject1", "math");
        school.put("subject2", "korean");
        jsonArray.add(school);
        //    "school":[{"subject1":"math","subject2":"korean"}]
         
        jsonObject.put("school", jsonArray);
         
        System.out.println(jsonObject.toString());
         
        System.out.println("----------------------------------------------------");
        System.out.println("JSON String 파싱");
        try{
            JSONArray returnSchool = (JSONArray)jsonObject.get("school");
            for(int i=0;i<returnSchool.size();i++){
                JSONObject returnSubject = (JSONObject) returnSchool.get(i);
                System.out.println("subject : "+returnSubject.get("subject1"));
                System.out.println("subject : "+returnSubject.get("subject2"));
            }
            String name = (String)jsonObject.get("name");
            System.out.println("name : " + name );
             
        }catch(Exception e){
            e.printStackTrace();
        }
        System.out.println("----------------------------------------------------");
    }
}

 

 

반응형

'JAVA' 카테고리의 다른 글

자바 hashmap  (0) 2023.01.24
자바 파일입출력  (0) 2023.01.24
자바 쓰레드  (0) 2023.01.24
URLConnection객체 : 웹페이지 가져오기  (0) 2023.01.24
자바 JDBC  (0) 2023.01.24

댓글