javascript - 如何将字典值分配给 javascript 变量(JSON 中返回的 jQuery / AJAX API 调用)
问题描述
我有一个运行良好的 AJAX 请求,它从以 JSON 格式返回数据的第三方 API 查询数据。我现在想将返回的 JSON 数据中的值分配给 javascript 变量,以便在更新前端之前在我的 AJAX 成功函数中对数据本身进行进一步操作。
在下面的示例中,我想将 key 的值分配name
给我的 Javascriptteam
变量。
实现这一目标的最佳方法是什么?
这是返回的结构:
{
"api":{
"results":1,
"teams":[
{
"team_id":66,
"name":"Barcelona",
"code":null,
"logo":"Not available in Demo",
"country":"Spain",
"founded":1899,
"venue_name":"Camp Nou",
"venue_surface":"grass",
"venue_address":"Carrer d'Ar\u00edstides Maillol",
"venue_city":"Barcelona",
"venue_capacity":99787
}
],
这是我的 AJAX 请求:
$('ul.subbar li a').on('click', function(e) {
e.preventDefault();
var team_id = $(this).attr("id");
console.log(team_id);
$.ajax({
method: "GET",
dataType: "json",
url: "https://cors-anywhere.herokuapp.com/http://www.api-football.com/demo/api/v2/teams/team/" + team_id,
success: function(response) {
var team_data = response
console.log(team_data)
team = // how to assign team name from API callback to variable
console.log(team)
$("#selectedClub").html(response);
}
});
});
解决方案
您可以使用点表示法在对象中导航
team_data.api.teams[0].name //output: "barcelona"
在您的示例中,里面只有一个项目teams
array
,因此上面的示例应该可以正常工作,但是让我们假设在您的响应中有超过 1 个团队,teams
那么您可以执行以下操作:
var teamList = [];
$.each(team_data.api.teams, function(index, team){
teamList.push(team.name);
})
它会给出array
你的所有团队名称ajax response
推荐阅读
- c# - c# 读取 pst 文件并在 web 应用程序上提取 .msg 文件
- python - 如何匹配字符串元素并更新plist中相应的响应字符串?
- microsoft-dynamics - Microsoft Dynamics 2013 和 Microsoft Dynamics 365 使用相同的 Rest API?
- java - 正则表达式在嵌套引号的情况下选择内引号之间的所有文本
- c# - SearchQuery by Not in Uids MailKit
- amazon-web-services - 无法为 AWS Route 53 上的子域创建 CAA 记录
- angular - Angular 6 HttpClient 响应返回未定义
- html - @font-face 不会在 WordPress 中显示自定义字体
- java - Set 方法在扩展类中找不到符号?
- java - 通过 SharedPreference 更新 ImageView 重新创建活动?