1.JSON(JavaScript Object Notation)
-데이터 교환을 위해 만들어진 객체 형태의 포맷
-서로 다른 프로그램끼리 데이터를 교환할 수 있도록 매개함
-jackson라이브러리에서 제공하는 ObjectMapper 클래스를 사용하여 객체를 JSON형태로 변경하는 방법
*이외에도 다양한 방법이 있으니 추후 검색해볼 것
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Map<String, String> message = new HashMap<>(){{
put("sender", "김코딩");
put("receiver", "박해커");
put("message", "밥먹을래?");
put("createdAt", "2021-01-12,10:10:10");
}};
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(message);
System.out.println(json);
/*
{"createdAt":"2021-01-12,10:10:10","receiver":"박해커","sender":"김코딩","message":"밥먹을래?"}
*/
|
cs |
*위의 코드 처럼 writeValueAsString을 사용해 JSON형태로 변경하는 과정을 직렬화(Serialize)라고 함
-이처럼, 직렬화된(Serialized) JSON의 타입은 문자열이고, 발신자는 이를 수신자에게 보낼 수 있음.
-수신자는 받은 JSON을 다시 객체의 형태로 변환하여 읽을 수 있음.
1
2
3
4
5
6
7
8
|
ObjectMapper mapper = new ObjectMapper();
String json = "{\"createdAt\":\"2021-01-12,10:10:10\",\"receiver\":\"박해커\",\"sender\":\"김코딩\",\"message\":\"밥먹을래?\"}";
Map<String, String> deserializedData = mapper.readValue(json, Map.class);
System.out.println(deserializedData);
/*
{createdAt=2021-01-12,10:10:10, receiver=박해커, sender=김코딩, message=밥먹을래?}
*/
|
cs |
*위의 코드 처럼 readValue를 사용해 문자열을 객체 형태로 변환하는 과정을 역직렬화(Deserialize)라고 함.
-이처럼, JSON은 서로 다른 프로그램 사이에서 데이터를 교환하기 위한 포맷으로, 자바스크립트을 포함한 많은 언어에서 범용적으로 사용되고 있음.
이미지 및 내용 출처 - code states
'부트캠프' 카테고리의 다른 글
자료구조/알고리즘 - Tree, Graph, Binary (1) | 2023.01.17 |
---|---|
자료구조/알고리즘 - Stack, Queue (0) | 2023.01.16 |
자료구조/알고리즘 - 재귀 함수 (0) | 2023.01.12 |
Java - Thread, JVM (0) | 2023.01.10 |
Java - 파일 입출력(I/O) (0) | 2023.01.09 |