1. 이전 방법:
function strToJson( str) {
var json = eval('(' str ')');
return json;
2. 🎜>
return(new Function) ("return " str ))();
}
3. IE67에서는 지원되지 않는 JSON 개체 메서드:
return JSON.parse(str);
4. jQuery에서 제공하는 메소드:
코드 복사
코드는 다음과 같습니다. parseJSON: function( data ) { if ( typeof data !== "string" || !data ) {
return null;
}
data = jQuery.trim( data ); 🎜>if ( /^[],: {}s]*$/.test(data.replace(/\(?:["\/bfnrt]|u[0-9a-fA-F]{4}) /g, "@")
.replace(/"[^"\nr]*"|true|false|null|-?d (?:.d*)?(?:[eE][ -] ?d )?/g, "]" )
.replace(/(?:^|:|,)(?:s*[) /g, "")) ) {
return window.JSON && window.JSON.parse ?
window.JSON.parse( data ) :
(new Function("return " data))()
} else {
jQuery.error ( "잘못된 JSON: " 데이터 ); }
},