Meine benutzerdefinierte Methode json von String erhalten:Syntaxfehler von JSON.parse()
function GetJSON(a) {
if (typeof a !== "string" || !a || a == null) return null;
a = a.replace(/\r\n|\r|\n|\t/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);
Aber ich Syntaxfehler, wenn ich JSON.parse() aufrufen
Was kann falsch sein?
EDIT: Ich habe den tatsächlichen Wert eingefügt, den ich an JSON.parse() aus der Debug-Ausgabe übergeben.
Für die Zukunft („Was kann falsch sein“, wenn Sie einen Syntaxfehler erhalten), bedeutet Syntaxfehler, dass Ihre Eingabe syntaktisch ungültig , IE es folgt nicht den Grammatikregeln der Sprache. – Esailija