gpt4 book ai didi

javascript - JSON - 无法读取未定义的属性

转载 作者:行者123 更新时间:2023-12-02 04:29:04 27 4
gpt4 key购买 nike

我在尝试从 json 获取一些数据时遇到问题。

通常我必须硬编码我想要的JSON变量(ID),例如

success: function (json) {
alert(json.ID.name);
}

这工作得很好,但是我需要使其动态化,因为我的 ID 需要根据请求进行更新。

当我尝试以下操作时

success: function (json) {
// ID is given above and it is working fine
var userID = ID.replace(" ", "");
userID = userID.toLowerCase().trim();
alert(json.userID.name);
}

这样做会给我一个错误

Uncaught TypeError: Cannot read property 'name' of undefined

收到警报时,userID 会提供与 ID 相同的字符串,但将其粘贴在 json 中似乎不起作用。有什么原因吗?

谢谢!

示例(遗憾的是我无法发布我的 API key )

var ID = "";
ID = $("#theID").val();
if (ID != "") {
$.ajax({
url: 'https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/' + ID + '?api_key=<KEY>',
type: 'GET',
dataType: 'json',
data: {
//email: $('#sube').val()
},
success: function (json) {
var userID = ID.replace(" ", "");
userID = userID.toLowerCase().trim();


document.getElementById("who").innerHTML = "Who: " + json.userID.name;
document.getElementById("level").innerHTML = "Level:" + json.userID.id;
document.getElementById("id").innerHTML = "ID: " + json.userID.summonerLevel;
document.getElementById("idCall").innerHTML = "Status: SUCCESS";
document.getElementById("url").innerHTML = "URL: " + 'https://na.api.pvp.net/api/lol/na/v1.4/summoner/by-name/' + userID + '?api_key=<KEY>';
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
document.getElementById("idCall").innerHTML = "Status: FAILED";
}
});
} else {
document.getElementById("idCall").innerHTML = "Status: FAILED";
}

最佳答案

userID 不是 JSON 对象中的键名称。你需要这样做:

alert(json[userID].name);

此外,请记住,如果您的 JSON 以字符串形式出现,则需要先对其进行解析,然后才能访问它。

关于javascript - JSON - 无法读取未定义的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com