[Spring] ObjectMapper? vs JSON.stirngify() vs JSON.parse()

hyewon jeong·2024년 2월 19일
0

Spring

목록 보기
54/65

🎈 1. 사전 개념

📍 1-1. JSON(javaScript Object Notation)

"키:값" 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 포맷이다.
본래는 자바스크립트 언어로 부터 파생되어 자바스크립트 구문 형식을 따르지만 플랫폼과 언어 독립형 데이터 형식이다.
따라서 프로그래밍언어나 플랫폼에서 독립적이므로 C, 자바, 파이썬 등에서 JSON 데이터 생성을 위한 코드를 각자 가지고 있다. JS 를 제외한 언어는 라이브러리를 사용해야하는 경우가 많다.

📍 1-2. 직렬화(Serialize)

데이터를 전송하거나 저장할때 바이트 문자열이어야 하기 때문에 객체를 문자열로 바꾸는 것
Object -> String 문자열 (바이트형식)

📍 1-3. 역직렬화 (Deserialize)

데이터를 모두 전송한 후 , 수신측에서 다시 문자열을 객체로 변경하여 객체내 데이터를 사용하기 하는 것
String 문자열 -> Object

  • 스프링의 경우
    import org.apache.htrace.fasterxml.jackson.databind.ObjectMapper;
    or
    import com.fasterxml.jackson.databind.ObjectMapper;
    라이브러리르 의존성 추가하여 사용한다.

🎈2. ObjectMapper? vs JSON.stirngify() vs JSON.parse() 차이 및 용도

📍 2-1. ObjectMapper

  • 자바에서 사용된다.
  • JSON 데이터와 Java 객체 간의 변환을 담당하는 라이브러리이다.
    JSON 문자열을 Java 객체로 변환하거나, 반대로 Java 객체를 JSON 문자열로 변환시킨다.

2-1-1. JSON -> Java Object 변환 : readValue()

(나의 경우는 객체의 요소값을 사용하기 위해 json -> object 로 변경시켜 요소값들을 사용할 수 있었다.)

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper objectMapper = new ObjectMapper();

String jsonString = "{name:"John", age: 30}" ; 

// JSON 문자열을 Java 객체로 변환
Map<String,Object> resultObject = readValue(jsonString, Map.class); 
// resultObject = {name:"John", age: 30}

2-1-2. Java Object -> JSON 변환 : writeValue()

(나의 경우는 객체의 요소값을 사용하기 위해 json -> object 로 변경시켜 요소값들을 사용할 수 있었다.)

import com.fasterxml.jackson.databind.ObjectMapper;

ObjectMapper objectMapper = new ObjectMapper();

Map<String,Object> resultObject = {name:"John", age: 30}; 

// Java 객체를 JSON 문자열로 변환
String jsonString = writeValue(resultObject); 
// jsonString = "{name:"John", age: 30}"

📍 2-2. JSON.stringify()

  • javaScript 에서 사용한다.
    - javaScript 객체나 배열 -> JSON 문자열로 변환할때 사용한다. 즉 javaScript 객체나 배열을 JSON 형식의 문자열로 직렬화한다.
var obj = {name:"John", age: 30};
var jsonString = JSON.stringify(obj);

📍 2-3. JSON.parse()

  • javaScript 에서 사용한다.
  • JSON 형식의 문자열을 JavaScript 객체나 배열로 변환할 때 사용됩니다. 즉, JSON 형식의 문자열을 파싱하여 JavaScript 객체나 배열로 역직렬화한다.
var jsonString ='{name:"John", age: 30}';
var objJSON.parse(jsonString);

참고자료
https://escapefromcoding.tistory.com/341

profile
개발자꿈나무

0개의 댓글