私は主に独学のプログラマーであり、最近、これまで使用したことのない JSON を使用する League of Legends API をいじっています。
これは、プレーヤーの ID を取得するコードの一部です。
function RiotAPI(phrase) {
...
this.request = function() {
return $.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: {
},
});
}
}
function getID(key, name) {
phrase = getPhrase(2, key, 0, name);
api = new RiotAPI(phrase);
api.request().done(function(data)
{
window.console&&console.log(data[name]['id']);
document.getElementById("sID").innerHTML = data[name]['id'];
});
}
この場合、コンソールは data[name]['id'] にデータを適切に記録します。ただし、次のようなことをすると
id = data[name]['id']
変数「id」は未定義です。これはjsonの性質によるものだと理解していますが、一般的な対処方法は何ですか?
今、私は持っています
document.getElementById("sID").innerHTML = data[name]['id'];
これは驚くほど機能し、非常に悲しい変数のように機能します。明らかに、これを処理するためのより良い方法が必要ですよね?
ありがとう