Ich analysiere einige Daten mit einer Typklasse in meinem Controller. Ich bekomme Daten wie folgt:
%Vor%Ich habe versucht, die Daten so zu speichern
%Vor%Wie kann ich die Benutzerliste zu einer neuen Variable extrahieren?
Der von Ihnen gepostete JSON sieht gut aus, aber in Ihrem Code ist es höchstwahrscheinlich kein JSON-String mehr, sondern bereits ein JavaScript-Objekt. Dies bedeutet, dass kein Parsing mehr nötig ist.
Sie können das selbst testen, z. in der Chrome-Konsole:
%Vor% JSON.parse()
konvertiert die Eingabe in eine Zeichenfolge. Die Methode toString()
von JavaScript-Objekten gibt standardmäßig [object Object]
zurück, was zu dem beobachteten Verhalten führt.
Versuchen Sie stattdessen Folgendes:
%Vor%Unerwarteter O-Fehler wird ausgelöst, wenn JSON-Daten oder String analysiert werden.
Wenn es sich um eine Zeichenfolge handelt, ist sie bereits stringfiziert. Das Parsen endet mit einem unerwarteten 'O' Fehler.
Ich war ähnlich (obwohl in anderem Zusammenhang), löste den folgenden Fehler, indem ich JSON Producer entfernte.
%Vor%Die Antwort enthält "OK" Zeichenfolgenrückgabe. Die mit @Products ({** MediaType.APPLICATION_JSON }) markierte Anmerkung versucht, die Zeichenfolge in das JSON-Format zu zerlegen, was zu Unerwartetem 'O' führt.
Das Entfernen von @Products ({ MediaType.APPLICATION_JSON }) funktioniert einwandfrei. Ausgabe: OK
Vorsicht: Wenn Sie auf der Clientseite eine AJAX-Anforderung stellen und JSON.parse ("OK") verwenden, wird auch das unerwartete Token "O"
ausgegebenO ist der erste Buchstabe der Zeichenfolge
JSON.parse (Objekt) vergleicht mit jQuery.parseJSON (Objekt);
JSON.parse ('{"name": "Yergalem", "Stadt": "Dover"}); --- Funktioniert gut
Tags und Links javascript angularjs json