일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- R
- SpringBoot 2
- heroku
- 자바입력
- 자바 스레드 실행 순서 제어
- 자바 thread 실행 순서 제어
- scanner
- 사칙연산
- 수학
- JAVA11
- input
- Kadane's Algorithm
- 카데인 알고리즘
- Easy
- array
- hash table
Archives
- Today
- Total
DeFacto-Standard IT
Object Serialization (JSON) (2) - jackson-databind# ObjectMapper Class 본문
SpringFramework/References
Object Serialization (JSON) (2) - jackson-databind# ObjectMapper Class
defacto standard 2018. 5. 3. 22:59ObjectMapper Class의 readValue()를 사용하면 String Type의 값을 Object Type으로 변환할 수 있다.
단, 그 사용법이 조금 까다롭긴 하지만, 코드를 봤을 때 그 의도가 상당히 명확하다.
public class Main {
// throws Exceptions는 제외
public static void main(String[] args) {
String personString = "{\"age\":3, \"grade\":1, \"name\":\"ycp\", \"subName\":\"YCP\"}";
ObjectMapper mapper = new ObjectMapper();
Person p = mapper.readValue(personString.getBytes("UTF-8"), Person.class);
System.out.println(personString);
System.out.println(p);
}
}
personString의 경우 JSON 포맷의 String을 급조하다보니 저런식으로 만들게 되었다.
중요한 것은 ObjectMapper 객체를 사용하여 String을 Object로 변환하는 코드이다.
readValue의 첫 번째 인자 타입은 byte[] 이며, 변환하려는 String을 getBytes(String encode) 함수를 사용하여 해당 포맷으로 다룬다는 것을 명시하고, 두 번째 인자로는 어떤 클래스의 타입으로 변환할지를 그 메타 데이터를 넘기게 된다.
수행 결과는 다음과 같다.
이 때, 첫 번째 출력은 JSON Stirng이며, 두 번쨰 출력은 Person 객체를 출력한 내용이다.
Person객체에는 JSON String의 키 값과 동일한 이름의 필드가 존재해야 한다.
'SpringFramework > References' 카테고리의 다른 글
Spring Boot 2.4에서 properties 사용하기 (0) | 2021.01.16 |
---|---|
Object DeSerialization (JSON) (1) - @RequestBody (0) | 2018.05.03 |
Object Serialization (JSON) (3) - net.sf.json (0) | 2018.05.03 |
Object Serialization (JSON) (2) - jackson-databind# ObjectMapper Class (0) | 2018.05.03 |
Object Serialization (JSON) (1) - @RestController, @ResponseBody (0) | 2018.05.02 |
Comments