자바스크립트는 JSON.parse() 메서드를 제공하여 JSON 문자열을 객체(object)로 손쉽게 변환할 수 있습니다. JSON이 성공적으로 파싱되면, 그 안에 담긴 요소들에 자유롭게 접근하고 활용할 수 있습니다.
문법(Syntax)
var obj = JSON.parse(JSON);
JSON.parse()는 JSON 형식의 문자열을 인수로 받아 이를 자바스크립트 객체로 변환합니다. 변환된 객체를 통해 원본 JSON에 포함된 키(key)와 값(value)에 접근할 수 있습니다.
예제 1
다음 예제에서는 JSON 문자열을 변수에 할당한 후, 이를 객체로 변환하고 각 요소의 값을 화면에 출력합니다.
<html>
<body>
<script>
var json = '{"name": "Malinga", "age": 32, "country": "srilanka"}';
var obj = JSON.parse(json);
document.write(obj.name + "</br>");
document.write(obj.age + "</br>");
document.write(obj.country);
</script>
</body>
</html>
출력 결과
Malinga 32 srilanka
예제 2
이번에는 회사 정보가 담긴 JSON 문자열을 객체로 변환하는 예제입니다.
<html>
<body>
<script>
var json = '{"company": "Tutorialspoint", "Product": "Tutorix", "city": "Hyderabad"}';
var obj = JSON.parse(json);
document.write(obj.company + "</br>");
document.write(obj.Product + "</br>");
document.write(obj.city);
</script>
</body>
</html>
출력 결과
Tutorialspoint Tutorix Hyderabad
참고 사항
JSON.parse()는 문자열이 올바른 JSON 형식이 아닐 경우 SyntaxError를 발생시킵니다. 따라서 외부에서 받아온 데이터를 파싱할 때는 try...catch 문으로 감싸 오류를 처리하는 것이 안전합니다.
try {
var obj = JSON.parse(json);
} catch (e) {
console.log("잘못된 JSON 형식입니다:", e.message);
}