개요
요즘 웹 개발에서 JSON 형식이 점점 주목을 받고 있습니다. 특히 Ajax를 사용하여 프로젝트를 개발하는 과정에서 JSON 형식의 문자열을 프런트엔드에 반환하고 프런트엔드에서 이를 JS로 파싱하는 경우가 많습니다. 객체(JSON).
JSON 개념은 ECMA-262(E3)의 표준에 포함되지 않았습니다. 다행히 JSON 개념은 전역 JSON 객체와 Date의 toJSON 메서드를 포함하여 ECMA-262(E5)에 공식적으로 도입되었습니다.
JSON 데이터를 구문 분석하는 세 가지 방법
eval() 메소드
JSON 데이터를 구문 분석하는 가장 일반적인 방법은 javascript eval() 메서드를 사용하는 것이며 코드는 다음과 같습니다.
함수 toJson(str){
var json = eval('(' str ')');
json을 반환합니다;
}
이 방법은 성능 및 보안 문제가 있으므로 권장되지 않습니다.
새로운 함수 메소드
함수 toJson(str){
var json = (new Function("return " str))();
json을 반환합니다;
}
JSON.parse() 메서드
이 방법은 IE8/Firefox3.5/Chrome4/Safari4/Opera10 이상만 지원합니다. 이러한 브라우저는 W3C 표준에 가깝고 기본적으로 toJSON 방법을 구현합니다.
함수 toJson(str){
return JSON.parse(str);
}
json2.js는 브라우저가 기본적으로 JSON.parse를 지원하고 ES5와 API 호환되는 경우 기본 버전을 사용합니다. ES5가 아직 완전히 대중화되지 않은 현재 상황에서 John Resig는 현재 ES5와 호환되는 API를 사용하고 향후 ES5로 원활하게 전환할 수 있도록 주로 json2.js를 사용할 것을 권장합니다. 가져오기를 제거하고 전환하기만 하면 됩니다.