본문 바로가기
JSP/이론

JSON arraylist다루기

by SEOKIHOUSE 2023. 6. 22.
  • 1)JSON형태의 객체를 JSON형태의 array에 넣기

 

package test;

import org.json.JSONArray;
import org.json.JSONObject;

import vo.UserBean;

public class JSONArrayTest {

	public static void main(String[] args) {
		JSONArray jarray = new JSONArray();
		
		UserBean user01 = new UserBean(1,"aaa",11,"010");
		UserBean user02 = new UserBean(2,"bbb",22,"011");
		UserBean user03 = new UserBean(3,"ccc",33,"012");
		
		JSONObject jobj01 = new JSONObject(user01);
		JSONObject jobj02 = new JSONObject(user02);
		JSONObject jobj03 = new JSONObject(user03);
		
		jarray.put(jobj01);
		jarray.put(jobj02);
		jarray.put(jobj03);
		System.out.println(jarray);
	}

}

  • 2)ArrayList에 값을 넣고 그걸 JSON형태의 배열로 바꾸기 (1번과 동일)

package test;

import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONObject;

import vo.UserBean;

public class ArrayListTest {

	public static void main(String[] args) {
		ArrayList<UserBean> list = new ArrayList<>();
		
		UserBean user01 = new UserBean(1,"aaa",11,"010");
		UserBean user02 = new UserBean(2,"bbb",22,"011");
		UserBean user03 = new UserBean(3,"ccc",33,"012");
		list.add(user01);
		list.add(user02);
		list.add(user03);
		
		JSONArray jarray = new JSONArray(list);
		System.out.println(jarray);
		System.out.println(jarray.toString());
		System.out.println("----------------");
		
		//JSON형식 list값 뽑는법
		//1번
		for(Object o : jarray) {
			JSONObject j = (JSONObject) o;
			System.out.println(j.get("name"));
		}
		
		//2번
		System.out.println("----------------");
		for (int i = 0; i < jarray.length(); i++) {
		    JSONObject jsonObject = jarray.getJSONObject(i);
		    System.out.println(jsonObject);
		    
		    //String name = (String) jsonObject.get("name");
		    String name = jsonObject.getString("name");
		    
//		    int age = jsonObject.getInt("age");
		    int age = (int) jsonObject.get("age");
		    System.out.println(name+ "||"+age);
		}
	}

}

  • 3)Map으로 해보기

package test;

import java.util.HashMap;
import java.util.Map;

import org.json.JSONObject;

import vo.UserBean;

public class JSONMapTest {

	public static void main(String[] args) {
		Map<Integer, UserBean> map = new HashMap<>();
		
		map.put(1,  new UserBean(1,"짱구",7,"010-1111-2222"));
		map.put(2,  new UserBean(2,"흰둥이",3,"010-1111-3333"));
		map.put(3,  new UserBean(3,"짱아",5,"010-1111-4444"));
		
		JSONObject jobj01 = new JSONObject(map);
		System.out.println(jobj01);
		
	}

}