Web サービスから返された JSON に問題があります。JSON に引用符がないように見えますが、JSON に引用符を追加するとエラーが発生します。エラー メッセージは次のとおりです。「Uncaught SyntaxError: Unexpected token o. 文字列をコンソールに記録すると:[object Object],[object Object]
エラーをシミュレートするコード例を次に示します。
//Error I am trying to solve
var jsonString = '[{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}]';
var myData = JSON.parse(jsonString);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + '</li>').appendTo($grouplist);
});
});
文字列を一重引用符で囲んだ同じコードを次に示します。できます
//Successful Javascript
var jsonString = '[{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}]';
var myData = JSON.parse(jsonString);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + '</li>').appendTo($grouplist);
});
});
//Successful HTML
<ul id="groups"></ul>
しかし、実際のコードで必要なように、文字列に引用符を追加しようとすると失敗します。
//Does not work when I need to append quotes to the string:
var jsonStringNoQuotes = [{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}];
jsonStringQuotes = "'" + jsonStringNoQuotes + "'";
var myData = JSON.parse(jsonStringQuotes);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + ',' + this.Id + '</li>').appendTo($grouplist);
});
});
エラーは次のとおりです: log string to console:[object Object],[object Object] data.js:809 Uncaught SyntaxError: Unexpected token '
私は困惑しています。どんな助けでも大歓迎です!ありがとうございました!