[TIL] 코드스테이츠 SEB BE Day 21
in TIL
💡 Today I Will Learn
- StringifyJSON
✏️ Summary
JSON
JavaScript Object Notation으로 데이터 교환 포맷이다. Java에서 객체를 JSON으로 (Serialize) JSON을 객체로 (DeSerialize) 하여 일관적으로 변환한다.
일반적으로 jackson
라이브러리의 ObjectMapper
클래스를 이용하여 Serialize(writeValue()), DeSerialize(readValue()) 사용, 일정한 규칙에 따라 변환시킨다.
📌 정리
무심코 객체를 @ResponseBody를 이용하여 넘겼었는데, 알고보니 spring-boot-starter-web
에 jackson-databind
가 포함되어 있어서 JSON으로 직렬, 역직렬화가 되고 있던 것이다…
이는 나중에 Spring 부분에서 자세히 짚고 넘어가도록 하자!!
👿 Problem
Object 매개변수 -> Object[] 로 변환
public String stringify(Object data){
if(data instanceOf Object[]){
for(Object obj : data) // Error
}
}
Object[]을 사용해야하는 데 Object 형으로 밖에 사용 못하는 문제에 도달했다.
👼 Solution
Object는 최상위클래스 답게 Object[]을 받을 수 있었다. 인자로 받은 Object[] 배열을 사용하기 위해서
Object[] objects = (Object[]) data;
명시적 형변환으로 Object[] 배열로 변환하여 사용하였다.
🎯 Tomorrow
- Stack & Queue
Back to [TIL] 코드스테이츠 SEB BE Day 20