약 5 년 전이 프로젝트에서 AJAX 라이브러리를 사용하여 막혔습니다. JSON에서 날짜를 파싱 할 때 몇 가지 문제가있었습니다. 나는 하나의 정규식 사용하기 위해 구문 분석 함수를 다시 작성 감아 :이 정말 잘 작동어떻게이 JSON 날짜 구문 분석 속도를 높일 수 있습니까?
return eval('(' + (enableDateParsing ? text.replace(/"(?:\\)?\/Date\((.*?)\)(?:\\)?\/"/g, "new Date($1)") : text) + ')');
을,하지만 난 IE8/크롬/FF에서 네이티브 JSON 구문 분석을 사용하면 내가 속도를 얻을 수 있다고 생각, 그래서 추가 이 비트 :
if (typeof JSON !== 'undefined' && typeof JSON.parse !== 'undefined') {
var nativeJsonDateParseRegex = /\/Date\(.*?\)\//g;
return JSON.parse(text, function (key, value) {
if (AjaxPro.enableDateParsing && typeof value === 'string' && value.match(nativeJsonDateParseRegex))
{
value = new Date(parseInt(value.substr(6)));
}
return value;
});
}
else // revert to eval for ie6/ie7
회귀 알림 콜백은 반환 된 각 JSON 속성마다 한 번씩 실행되므로 매우 빠릅니다. 프로파일 중에는 170484 번 호출되었지만 여전히 매우 빠르게 실행됩니다 (131.237ms). 그것을 더 빨리 만드는 방법에 대한 아이디어 나 심각한 조정없이 할 수있는 최선의 방법입니까?
와우 감사합니다. 훌륭합니다. – Shawn