전에 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으로 변환할수 있습니다.
|