본문 바로가기
Language/JavaScript

[JavaScript] 객체를 문자열로 변환하기 (ft. JSON)

by 썸머워즈 2021. 7. 21.
반응형

javascript에서 사용하는 객체를 문자열로 변환하는 방법에 대해 알아보자.

 

사실 객체를 문자열로 변환하고자 할때 toString()이라는 메서드에 대해 많이 들어왔을텐데

script에서 객체를 대상으로 toString()을 사용한다면 전혀 생각지도 못한 결과가 나온다.

 

아래 예제를 통해 결과를 확인해보자.

 

▷예제1) obj.toString()

var it = {a: 'mine', b : 'it', c : 'record'}

it.toString(); // "[object Object]"

 

이렇게 되면 "[object Object]"라는 반환값을 얻게 되는데 이게 도통 뭔지 모르겠다...

(아래 잘 정리된 게시글이 있으니 확인해보자. 좀 어려울 수 있다.)

자바스크립트에서 [object Object] 가 대체 뭘까?

 

이제 이렇게 되면 우리는 어떻게 객체를 문자열로 변환시켜야할까?

바로 JSON 메서드를 사용하는 것이다.

 

이것도 바로 예제를 통해 알아보자.

 

▷예제2) JSON.stringify()

var it = {a: 'mine', b : 'it', c : 'record'}

JSON.stringify(it);
// "{\"a\":\"mine\",\"b\":\"it\",\"c\":\"record\"}"

 

JSON.stringify()를 사용했을때 위 결과 처럼 역슬래시(\)가 갑자기 붙은걸 확인할 수 있는데

이는 JSON DATA 인식문제로 따음표를 역슬래시 + 따음표로 인식하기때문에 저렇게 변환된것이다.

 

이는 그냥 JSON.parse()를 사용하게되면 해결이 된다.

(다른곳에서 사용한다면 거기서 해결을 하거나 해야하는거같다.)

 

▷예제3) JSON.parse()

var it = {a: 'mine', b : 'it', c : 'record'}

var jsonStr = JSON.stringify(it);
// "{\"a\":\"mine\",\"b\":\"it\",\"c\":\"record\"}"

var jsonParse = JSON.parse(jsonStr);
// {a: 'mine', b : 'it', c : 'record'}
반응형


댓글

TOP