456 Stimmen

Parsing JSON gibt den Fehler "unerwartetes Token o" aus.

Ich habe Probleme beim Parsen einfacher JSON-Strings. Ich habe sie auf JSONLint überprüft und es zeigt an, dass sie gültig sind. Aber wenn ich versuche, sie mit JSON.parse oder der jQuery-Alternative zu parsen, bekomme ich den Fehler unerwartetes Token o:

      var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
      var ques_list = JSON.parse(cur_ques_details);

      document.write(ques_list['ques_title']);

Hinweis: Ich verschlüssele meine Zeichenfolgen mit json_encode() in PHP.

6voto

Muhammad Soliman Punkte 18437

Die Antwort ist bereits geparst, sie muss nicht erneut geparst werden. Wenn sie erneut geparst wird, wird "unbeabsichtigtes Token o" angezeigt. Um sie als Zeichenfolge zu erhalten, könnten Sie JSON.stringify() verwenden.

6voto

Saber Punkte 71

Ich hatte das gleiche Problem, als ich Daten mit jQuery AJAX übermittelt habe:

$.ajax({
   url:...
   success:function(data){
      // Die Antwort des Servers ist JSON
      // Ich benutze die parseJSON-Methode von jQuery
      $.parseJSON(data);//es ist ein FEHLER
   }
});

Wenn die Antwort JSON ist und du diese Methode benutzt, dann erhältst du ein JavaScript-Objekt, aber wenn du dataType:"text" benutzt, ist data ein JSON-String. Dann ist die Verwendung von $.parseJSON in Ordnung.

1voto

alexkb Punkte 2866

Ich habe diesen unerwarteten Token o-Fehler gesehen, weil mein (unvollständiger) Code zuvor ausgeführt wurde (Live-Reload!) und den bestimmten Schlüssel-Wert im lokalen Speicher auf [object Object] anstelle von {} gesetzt hatte. Es war erst, als ich die Schlüssel geändert habe, dass die Dinge wie erwartet funktionierten. Alternativ können Sie diesen Anweisungen folgen, um den falsch eingestellten localStorage-Wert zu löschen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X