JSON.parse()란 무엇인가?
웹 서버로부터 데이터를 전달받을 때, 그 데이터는 항상 문자열(string) 형태로 전송됩니다. 하지만 실제 개발 환경에서는 이 문자열을 자바스크립트 객체(object)로 변환해야 속성에 접근하고 값을 다룰 수 있습니다. 이때 사용하는 것이 바로 JSON.parse() 메서드입니다.
JSON.parse()는 JSON 형식의 문자열을 파싱(parsing)하여 자바스크립트 객체로 변환해 주며, 반대로 객체를 JSON 문자열로 바꿀 때는 JSON.stringify() 메서드를 사용합니다.
기본 문법
JSON.parse(text[, reviver])
- text: JSON 형식으로 작성된 문자열
- reviver(선택 사항): 변환 결과를 가공할 때 호출되는 함수
예제 코드
<html>
<body>
<script>
var obj = '{"name":"Jon", "age":20, "city":"Columbia"}';
var res = JSON.parse(obj);
document.write(res);
console.log(res);
</script>
</body>
</html>
실행 결과
[object Object]
{"name":"Jon", "age":"20", "city":"Columbia"}
위 예제에서 JSON 형식의 문자열이 JSON.parse()에 의해 객체로 성공적으로 변환되었습니다. document.write()로 출력하면 객체가 문자열로 강제 변환되어 "[object Object]"가 표시되지만, console.log()로 확인하면 name, age, city 속성을 가진 정상적인 객체임을 알 수 있습니다.
사용 시 주의 사항
JSON.parse()는 인자로 전달된 문자열이 올바른 JSON 형식이 아니면 SyntaxError를 발생시킵니다. 따라서 서버 응답 등 외부 데이터를 파싱하기 전에는 유효한 JSON 문자열인지 반드시 검증하는 것이 좋습니다.