jQuery.parseJSON vs JSON.parse
jQuery.parseJSON
동일한 작업을 수행하는 두 개의 함수입니다.jQuery 라이브러리가 이미 로드된 경우 를 사용할 것입니다.jQuery.parseJSON
쓰는 것보다 낫습니다JSON.parse
, 성능적인 면에서?
그렇다면 왜?안되면 왜 안되나요?
다음은 jQuery 1.9.1에서 추출한 내용입니다.
parseJSON: function( data ) {
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
return window.JSON.parse( data );
}
if ( data === null ) {
return data;
}
if ( typeof data === "string" ) {
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim( data );
if ( data ) {
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if ( rvalidchars.test( data.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, "")) ) {
return ( new Function( "return " + data ) )();
}
}
}
jQuery.error( "Invalid JSON: " + data );
},
보시다시피 jQuery는 네이티브를 사용할 것입니다.JSON.parse
사용 가능한 경우 method를 사용하고 그렇지 않은 경우 다음과 같이 데이터를 평가합니다.new Function
, 어떤 것은.eval
.
그래서 네, 당신은 분명히 사용해야 합니다.jQuery.parseJSON
.
브라우저가 JSON.parse의 기본 구현을 제공하는 경우, jQuery는 문자열을 구문 분석하는 데 이를 사용합니다.
따라서 브라우저에 기본 구현이 없는 경우 jQuery는 JSON 파서를 제공합니다.다음은 JSON 기능이 있는 브라우저(그렇지 않은 브라우저)의 비교 차트입니다.
jQuery version 3(2016년 출시)을 사용하는 경우 다음을 사용해야 합니다.jQuery.parseJSON()
감가 상각되었습니다.
jQuery 3.0 기준 $.parseJSON이 사용되지 않습니다.JSON 개체를 구문 분석하려면 대신 native JSON.parse 메서드를 사용합니다.
JSON.parse()는 다른 브라우저가 아닌 일부 브라우저에서 기본적으로 사용할 수 있으므로 라이브러리를 사용하는 것이 더 안전합니다.다른 응답자들이 언급한 것처럼 JQuery 구현은 잘 작동합니다.더글러스 크록포드의 JSON 라이브러리도 있으며, 이용 가능한 경우 네이티브 구현을 사용합니다.
JSON 라이브러리는 자바스크립트 객체를 JSON 문자열로 바꾸는 방법이 있다는 장점이 있는데, 현재 jQuery에서 빠져 있습니다.
성능에 대해서는 모르지만 ie7 이하와 같은 일부 브라우저에는 JSON 기능이 기본적으로 없을 수 있기 때문에 jQuery 방법을 사용하는 것이 확실히 더 안전합니다.
어레이의 네이티브가 아닌 jQuery의 각 메서드를 사용하는 것처럼 호환성이 중요합니다.forEach
반복 방법입니다.
성능에 대해 이야기하자면, 가장 업데이트 된 답변은 다음과 같습니다.
네이티브 JSON 개체는 현재 모든 브라우저에서 지원되므로 다음을 선택합니다.JSON.parse
. 지원 표는 여기에서 확인하실 수 있습니다. http://caniuse.com/ # feat=json
GitHub: https://github.com/jquery/jquery/search?utf8=%E2%9C%93&q=parseJSON 에 있는 JQuery의 저장소에서 이 별칭 모양을 검색할 수도 있습니다.
.jQuery.parseJson
는 버전 3.0+에서 더 이상 사용되지 않습니다.
오래된 JQuery 버전 +인 경우에만 jQuery 버전을 사용해야 합니다. 매우 오래된 브라우저를 지원하려면(일반적으로 권장되지 않음).
으로 jQuery를 합니다.JSON.parse
JSON 파일을 파싱합니다.따라서 대부분의 경우에는 아무런 차이가 없습니다.
를 .JSON.parse
기능성. 에는.jQuery.parseJSON
jQuery는 자체 기능을 사용하여 JSON을 처리할 수 있기 때문에 유용합니다.
참고:
jQuery.parseJSON
는 jQuery 3.0에서 더 사용되지 않습니다.그래서 네이티브를 이용해주세요.JSON.parse
방법.
언급URL : https://stackoverflow.com/questions/10362277/jquery-parsejson-vs-json-parse
'programing' 카테고리의 다른 글
TypeError: 일관된 MRO(Method Resolution Order)를 만들 수 없습니다. (0) | 2023.10.04 |
---|---|
"ORA-04068: 패키지의 기존 상태가 폐기되었습니다 ORA-04065: 실행되지 않거나, 변경되거나, 저장 프로시저가 삭제되었습니다 (0) | 2023.10.04 |
ASP에서 사용할 수 있는 프레임워크는 무엇입니까?NET Core(ASP).NET 5) 애플리케이션? (0) | 2023.10.04 |
아마존 RDS에서 '파일에 데이터를 로드'하는 방법? (0) | 2023.10.04 |
XML 스키마와 DTD의 차이점은 무엇입니까? (0) | 2023.10.04 |