TIL 16일차

Albatross53·2023년 3월 15일
0

TIL

목록 보기
16/19
post-custom-banner

JSON

1. json이란?

JSON은 JavaScript Object Notation의 줄임말로, 데이터 교환을 위해 만들어진 객체 형태의 포맷.

2. 사용이유

데이터를 전송할때 전송 가능 조건을 보면

  • 전송 가능한 조건 (transferable condition)
    - 수신자(reciever)와 발신자(sender)가 같은 프로그램을 사용한다.
    - 또는, 문자열처럼 범용적으로 읽을 수 있어야 한다.

으로 JavaScript에서 보낸 데이터는 Java에서 정확하게 파악할 수 없다.
이를 해결하기 위해 객체를 JSON형태로 변환하거나 JSON을 객체의 형태로 변경해야한다.

3. 사용 방법

Java에서 JSON을 사용하는 방법으로는 jackson 라이브러리에서 제공하는 ObjectMapper 클래스를 사용하는 방법이 있다.

JSON파일을 사용하기 위해서는 직렬화와 역직렬화를 알아야하는데
직렬화는 특정 언어 데이터를 JSON파일로 만드는것이고,

  • 자바 데이터 -> [직렬화(serialize)] -> JSON 파일

역직렬화는 JSON파일을 특정 언어 데이터로 풀는 것이다.

  • JSON 파일 -> [역직렬화(deserialize)] -> 자바 데이터

tmi. JSON 저장 기반 몇몇 게임에서 로컬 데이터 저장파일을 열어보면 JSON게임 저장 파일을 찾을 수 있다.

Java에서의 사용법)

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(data);

writeValueAsString()을 사용해 직렬화 한다.

ObjectMapper mapper = new ObjectMapper();
String json = "{\"today\":\"2023-03-15\",\"time\":\"10:10\",\"name\":\"person\",\"message\":\"hi~\"}";

Map<String, String> deserializedData = mapper.readValue(json, Map.class);

readValue()를 사용해 역직렬화 한다.

JSON 추가 자료 - JSON 공식 문서

profile
개발공부중
post-custom-banner

0개의 댓글