KOSTA : 클라우드 네이티브 애플리케이션 개발 전문가 양성과정
05/13 22일차 VO, JSON API(json.simple, Jackson)
람대리
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();
}