我的习惯方法,从扼杀中汲取教训:
function GetJSON(a) {
if (typeof a !== "string" || !a || a == null) return null;
a = a.replace(/
|
|
| /g, ).replace(/\/g, / );
return new Function("return " + a)();
}
var notes = {editable:true,useAjax:false,notes:[{"top":76,"left":411,"width":30,"height":30,"text":"hill","editable":true},{"top":183,"left":556,"width":30,"height":30,"text":"lake","editable":true}]} ;
return GetJSON(notes); //<-- works fine
//I am trying to replace my custom method with
return JSON.parse(notes);
But I get syntax error when I call JSON.parse()
什么可能是错误的?
EDIT: I pasted the actual value that I pass to JSON.parse() from debug output.