Uncaught SyntaxError: Unexpected token im JSON-p an position 36
Im Auffüllen Webseite mit sharepoint, so glaube ich ein json-Daten mit ajax wie diese:
function completeFleet(data, target, eng) {
var items = data.d.results;
console.log(items);
var prefix = "<div class='row'>";
var sufix = "</div>";
var menu = "<div class='col-md-4'>";
var cat = "";
var spec = "";
var counter = 0;
var obj = null;
for (item in items) {
spec = "";
if (counter == 1) {
menu += "</div><div class='col-md-4'>";
counter = 0;
}
if (eng) {
obj = JSON.parse(items[item].Specifications);
for (var key in obj) {
spec += "<div class='row'><div class='col-md-12 ftBottomSeparator'><span class=' t10'>" + key + "</span> <span class='t06' style='float:right;'>" + obj[key] + "</span></div></div>";
}
menu += "<div class='row ftContainerOut'><div class='col-md-12 ftContainer'><div class='row ftHeader'><div class='col-xs-9 t09'>" + items[item].Title + "</div><div class='col-xs-3 text-right'></div></div><div class='row'><div class='col-md-6' style='padding-top:10px'><img src='" + items[item].Imagen.Url + "' class='img-responsive img-center' style='border:0px solid blue; max-width:150px;max-height:120px;' /></div><div class='col-md-6'>" + spec + "</div></div></div></div>";
} else {
obj = JSON.parse(items[item].Especificaciones);
for (var key in obj) {
spec += "<div class='row'><div class='col-md-12 ftBottomSeparator'><span class=' t10'>" + key + "</span> <span class='t06' style='float:right;'>" + obj[key] + "</span></div></div>";
}
menu += "<div class='row ftContainerOut'><div class='col-md-12 ftContainer'><div class='row ftHeader'><div class='col-xs-9 t09'>" + items[item].Title + "</div><div class='col-xs-3 text-right'></div></div><div class='row'><div class='col-md-6' style='padding-top:10px'><img src='" + items[item].Imagen.Url + "' class='img-responsive img-center' style='border:0px solid blue; max-width:150px;max-height:120px;' /></div><div class='col-md-6'>" + spec + "</div></div></div></div>";
}
counter++;
}
$(target).html("<div class='panel-body'><div class='container-fluid'>" + prefix + menu + sufix + "</div></div>");
}
Ich habe 5 verschiedene Objekte, aber man diese nicht anzeigen Daten, meine Webseite wird in den Sprachen Englisch und Spanisch in Deutsch kostenlos alle Daten, aber in Spanisch eine dieser
nicht funktioniert und ich bekomme Fehlermeldung an der position 36 und position 36 ist das Element nicht anzeigen. Eine Idee, was ist hier falsch? Hinsichtlich
Diese funktioniert
und dies nicht funktioniert
---------Update------------
Wenn ich diese Zeile auskommentieren:
//obj = JSON.parse(items[item].Especificaciones);
und setzen
if(items[item].Especificaciones){
JSON.parse(items[item].Especificaciones);
}
es läuft jetzt mit Bild, aber jetzt habe ich nicht meine "Especificaciones" Listen
Nun, wenn ich
var stringifyObj = JSON.stringify(items[item].Especificaciones);
var obj = JSON.parse(stringifyObj);
Bekomme ich so etwas wie diese:
- Können Sie uns zeigen, den Inhalt der json?
- Auch Sie JSON hat sich ein Tippfehler in es... Schau an position 36.
- Ich es hochladen @meJustAndrew
Du musst angemeldet sein, um einen Kommentar abzugeben.
stellen Sie sicher, Wert ist nicht null für die entsprechenden Schlüssel in JSON.analysiert werden können. Zum Beispiel-
stellen Sie sicher, dass die Elemente haben den Wert im Element mit index und items[item] hat die Eigenschaft Spezifikationen.
können Sie überprüfen, ob items[item].Spezifikationen, die nicht null ist, bevor JSON.analysiert werden können.
Update
JSON.parse() wird verwendet, um zu konvertieren einen string der JSON-notation in ein Javascript-Objekt. Gültige JSON-strings müssen in Anführungszeichen gesetzt werden.
Versuchen stringify das Objekt und dann analysieren und wieder.
Den Grund für den Fehler ist, dass JSON.parse() erwartet einen String-Wert und items[item].Especificaciones ist ein Array
obj = JSON.parse(items[item].Especificaciones);
läuft es richtig, wie kann ich überprüfen es, um es auszuführen? weil ich nicht gefunden was falsch"Eslora":100 pies"
Sollten Sie wahrscheinlich öffnen Sie die Anführungszeichen, wenn Sie mit dem schreiben beginnen einen string-Wert
"Eslora":"118 pies"