Hier ist der JSON String, den ich habe. Ich habe das Öffnen und Schließen von Klammern aus dem JSON entfernt, weil ich die JSON-Werte in jQuery verwenden müssen, um tatsächlich die Daten in einer Auswahlbox zu laden:JSON Throwing Error beim Parsen
{
"text": "Pediatric FA, CPR & AED (2015)",
"id": "128177000002431552~Pediatric FA, CPR & AED DVD Set (2015)~YES~117.19"
}, {
"text": "FA, CPR & AED Manual (2015)",
"id": "128177000002431564~FA, CPR & AED Manual (2015)~YES~17.73"
}
hier ist mein Javascript-Code
$.post("items.cfm",{"term":request.term})
.done(function(data){
try{
var obj = JSON.parse(data),
values = [];
$.each(data, function(i, obj) {
values.push({"label":obj[x].text, "value":obj[x].id, "price":obj[x].id.split('~')[3]});
})
response(values);
}catch(e){
alert(e);
}
})
.fail(function(e){
alert(e);
});
Jedes Mal, wenn ich es starte, erhalte ich den Fehler
SyntaxError: Unexpected token , in JSON at position
Haben Sie die Browserkonsole überprüft, um den tatsächlichen JSON-Inhalt anzuzeigen, der von der HTTP-Anforderung zurückgegeben wurde? Und sagt es wirklich "... an der Position" ohne weitere Informationen? – Pointy
Sie können nicht mehrere Objekte in einem JSON-String haben, wenn sie nicht in eckigen Klammern als Array gekapselt sind. Fügen Sie an beiden Enden der JSON-Zeichenfolge ein '[' '' '' '' 'hinzu, um es gültig zu machen. – Santi
Ich sagte in meinem POST bin ich Entfernen der Anfang und Ende Klammern, wenn ich sie nicht entfernen dann bekomme ich diesen Fehler: 'TypeError: Kann nicht 'in' Operator nach '4592' in' – Hane