Ich versuche, API-Daten zu analysieren, die ich über Ajax erhalte. Ich habe keine Kontrolle über die API-JSON-Struktur. Wenn ich versuche, es zu analysieren, mit diesem Code ich diese Fehlermeldung erhalten:Parsen von JSON über Javascript Fehler erhalten: json.parse: unerwartetes Zeichen
json.parse:unexpected character
und keine Datenausgabe auf divs.I letzten 2 Tage damit verbringen, konnte es nicht reparieren. Könnten Sie mir sagen, wie Jungs it.Thanks zu beheben
data.html Inhalt:
"[\r\n {\r\n \"itemID\": \"1\",\r\n \"itemTitle\": \"First\",\r\n \"itemText\": \"first one\",\r\n \"ThumbUrl\": \"http://somesite.com/1.jpg\",\r\n \"itemContent\": null\r\n },\r\n {\r\n \"itemID\": \"2\",\r\n \"itemTitle\": \"Second\",\r\n \"itemText\": \" second one\",\r\n \"ThumbUrl\": \"http://somesite/2.jpg\",\r\n \"itemContent\": null\r\n }\r\n]"
javascript:
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
function ajax() {
$.get("./data.html", function(data){
data = data.replace("\"[", "[");
data = data.replace("]\"", "]");
$("#area1").text(data);
// parse JSON response
var json = $.parseJSON(data);
console.log(json);
// then loop the single items
for(i in json)
{
// create HTML code
var div = "<div class=\"image\">\n" +
"<a href=\"javascript:dofunction('./test.php?title=" + json[i].itemTitle + "&TargetUrl=http://somesite.com/" + json[i].itemID + "')\">\n" +
"<img src=\""+ json[i].ThumbUrl +"\" alt=\"..\" />\n" +
"</a>\n" +
"</div>\n";
$("#myDiv").append(div);
}
});
}
</script>
<body>
<button onclick="ajax()">test</button>
<br>orginal data:<br>
<textarea id="area1" rows="4" cols="50" ></textarea>
<div id='myDiv'></div>
</html>
console.log (json):
JSON.parse: unexpected character
https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
Line 4
Ihre json entfernen unwirksam sein. Validiere es hier jsonlint.com –
Kannst du posten, was die 'console.log (json);' ausspuckt? Aber yeah @Santosh hat die richtige Idee - überprüfen Sie, was mit Ihrem JSON ungültig ist. – aug
Schlecht formatierte JSON. – Anuga