Frage: Uncaught SyntaxError: JSON.parse: expected property name or '}'

pkm

Bekanntes Mitglied
Ich verstehe nicht, wieso ein Fehler kommt, wenn ich der Methode JSON.parse() folgenden String als Argument übergebe:

var str = '{title: "<a href="#" onclick="javascript:welcomeAndRubricFunction()">Autorubrik</a>", last: "Letzter Beitrag:"}';

Bei JSON.parse(
var str = '{title: "<a href="#" onclick="javascript:welcomeAndRubricFunction()">Autorubrik</a>", last: "Letzter Beitrag:"}'
)

Denn es kommt der Fehler: Uncaught SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data


Entweder ich war jetzt völlig blind, aber anhand von dem hier ... https://developer.mozilla.org/de/do...m=firefox-console-errors&utm_campaign=default

...habe ich keinen Fehler erkennen können. Daher wollte ich mal fragen, falls jemand viel Erfahrung mit JavaScript hat, woran liegt das?


HTML:
<!DOCTYPE html>
<html>
<body>

<script>
var str = '{title: "<a href="#" onclick="javascript:welcomeAndRubricFunction()">Autorubrik</a>", last: "Letzter Beitrag:"}';

console.log(JSON.parse(str));//Ergibt: Uncaught SyntaxError: JSON.parse: expected property name or '}' at line 1 column 2 of the JSON data

//str = "{title: "<a href="#" onclick="javascript:welcomeAndRubricFunction()">Autorubrik</a>", last: "Letzter Beitrag:"}";

//console.log(JSON.parse(str));//Ergibt: Uncaught SyntaxError: unexpected token: identifier

</script>

</body>
</html>
 
Da sind gleich zwei Fehler versteckt:

Einmal müssen alle property-Namen in Anführungszeichen stehen (title und last).
Und dann solltest du dir mal den Wert für title genauer angucken 🙂

Je nachdem welche IDE du nutzt: Die von IntelliJ können Syntax-Highligthing für JSON in Strings, falls du eine entsprechende nutzt solltest du das aktivieren 🙂
 
Vielen Dank für Eure schnelle Hilfe. Es tut mit echt leid, dass ich dennoch eine weitere Frage stellen muss. Denn in der Tat muss die Tatsache, dass ich nach wie vor einen Fehler bekomme, an dem html liegen, das den value von "title" darstellt.
Ich habe mir jetzt echt einen Wolf escaped, aber der Fehler kommt immernoch, und ich bin mir sicher, dass das nicht an <, >, :, ( oder ) liegt. Könnte mir da eventuell noch jemand nen Tipp geben? Das wäre sehr ersprießlich für mich 🙂

HTML:
<!DOCTYPE html>
<html>
<body>
<script>
var str = '{"title": "<a href=\"#\" onclick=\"javascript:welcomeAndRubricFunction()\">Autorubrik<\/a>", "last": "Letzter Beitrag:"}';

console.log(JSON.parse(str));

</script>
</body>
</html>
 

Zurück
Oben