안규 공부방

Javascript & JQuery & CSS > JSON 객체를 String으로 변환하기 - JSON.stringify()

등록일 : 2017-07-14 17:01 조회수 : 68,854

전에 JSON Text를 JSON Object로 변환하기라는 포스팅을 올린적이 있는데 반대로 JSON Object를 JSON Text로 변환할 수 있는 방법 또한 있습니다. 

JSON객체를 스트링으로 변환할 일이 뭐가 있을까 생각해봤는데 저로써는 로그등을 위해서 찍어보는 용도로 밖에는 생각이 안나더군요. 

어쨌든 질문을 테스트 해보다 보니 생각했던거랑은 다른것도 있고 해서 포스팅으로 남깁니다.

이전 포스팅과 동일하게 아래와 같은 JSON객체가 있다고 하겠습니다.

{ id:'Outsider', sex:'male' }

JSON객체를 출력해 보겠습니다.

var obj = { "id":"outsider", "sex":"male" };
alert(obj); // [object Object]
alert(typeof obj); // object

객체라는 것만 알 수 있고 내용을 알 수가 없습니다.

var obj = '{ "id":"outsider", "sex":"male" }';
alert(obj); // { "id":"outsider", "sex":"male" }
alert(typeof obj); // string

이번에는 스트링 객체로 만들어서 그냥 찍어보았습니다. 스트링이기 때문에 그대로 나오는군요. 당연한 결과로 보입니다.

스트링 변환할 때 가장 쉽게 생각할수 있는데 문자열을 이어붙히는 것입니다. 

자바스크립트는 형타입이 없기 때문에 문자열을 이어붙힘으로써 쉽게 String으로 만들 수 있습니다.

var obj = { "id":"outsider", "sex":"male" };
obj = obj + ""
alert(obj); // [object Object]
alert(typeof obj); // string

type은 string으로 변경되었지만 객체 자체를 출력하니까 스트링의 내용이 찍히지 않고 Object가 찍혀버립니다. 

원래 스트링이었던 객체와는 다르게 동적하는군요.

JSON사이트에서는 json2.js라는 JSON관련 처리를 위한 공식 메서드를 제공하고 있는데 

이곳에서 JSON객체를 String으로 변환하는 JSON.stringify() 메서드를 제공하고 있고 이것을 사용하면 모든 타입에 대응한 JSON객체를 String으로 변환할수 있습니다.
 

	var obj = new Object();
	obj.id = 'cak0280';
	obj.password = '#pw';
	obj.idStore = 'on';

	var jsonData = JSON.stringify(obj);

	$('body').append( obj.id + " : "+ obj.password + " : " + obj.idStore + "<br>");
	$('body').append( jsonData + "<br>");


	출력 결과
	------------------------------------------------------------------------
	{"id":"cak0280","password":"#pw","idStore":"on"}
	cak0280 : #pw : on


※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.