람대리 2024. 5. 13. 09:21
728x90

컬렉션 test

import java.util.ArrayList;
import java.util.HashMap;

class EmpTest{
	public static void main(String[] args){
	
		HashMap<String,String> emp = new Hashmap<String,String>();

		emp.put("empno","7377");
		emp.put("ename","smith");
		emp.put("sal","600");

		ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
		list.add(emp);
		
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i).get("empno"));
			System.out.println(list.get(i).get("ename"));
			System.out.println(list.get(i).get("sal"));
		}
	}

}

- 제네릭 사용 미숙하였고, import를 생략하였습니다.

- 변형코드가 있었습니다. 배열을 사용했습니다

- 현역코드는 훨씬 복잡합니다. youtube api, kakao api, weather api 등등

 

empVo 만들기

public class EmpVO{
	private int empno;
    private String ename;
    private int sal;
    
    	public EmpVO() { }
	
	//마우스우클릭>source>Generate constructor using fields ..
	public EmpVO(int empno, String ename, int sal) {
		super();
		this.empno = empno;
		this.ename = ename;
		this.sal = sal;
	}
	
	//마우스우클릭>source>Generate getter and setter ..
	public int getEmpno() {
		return empno;
	}
	public String getEname() {
		return ename;
	}
	public int getSal() {
		return sal;
	}
	public void setEmpno(int empno) {
		this.empno = empno;
	}
	public void setEname(String ename) {
		this.ename = ename;
	}
	public void setSal(int sal) {
		this.sal = sal;
	}

	//Object toString()을 오버라이딩
	@Override
	public String toString() {
		return "EmpVO [empno=" + this.empno + ", ename=" + this.ename + ", sal=" + sal + "]";
	}
	
}

 

 

json.simple 

String jsonStr ="{\"ename\":\"smith\", \"empno\":\"7733\",\"sal\":\"600\"}";


JSONObject obj = new JSONObject();
JSONParser parser = new JSONParser();

HashMap<String,String> map = new HashMap<String,String>();
try{
	// String --> HashMap
	map = (HashMap<String,String>)parser.parse(jsonstr);
    System.out.println(map);
    
    // HashMap --> String
    String str = obj.toJSONString(map);
    System.out.println(str);
}catch(ParseException e){
	e.printStackTrace();
}

 

Jackson

String jsonStr ="{\"ename\":\"smith\", \"empno\":\"7733\",\"sal\":\"600\"}";
ObjectMapper mapper = new ObjectMapper();

//EmpVo (1) : str --> EmpVO
try{
	EmpVO evo = mapper.readValue(jsonstr,EmpVO.class);
    System.out.println(evo.getEmpno()); // 7733
} catch(JSONProcessingException e){
	e.printStackTrace();
}

try{

	// HashMap(2) : str --> HashMap
    HashMap<String,String> empMap = (HashMap<String,String>)mapper.readValue(jsonstr,map.class);
    System.out.println(empMap.get("ename")) // smith
    
    // map --> string
    String str = empMap.toString();
    System.out.println(str);
    
} catch(JsonMappingException e){
	e.printStackTrace();
} catch(JsonProcessingException e){
	e.printStackTrace();
}