У меня есть школьный проект, в котором мы учим JSON.Я пытаюсь выяснить, как сопоставить ключи с другими ключами, существующими в другом свойстве объекта.
Я использую старый API для получения информации об игроке NFL.Вот пример URL для извлечения данных:
http://api.fantasy.nfl.com/v1/players/stats?statType=seasonStats&season=2018&week=16&format=json
Я использую AJAX для вызова данных и преобразования результатов в таблицу.
$.ajax({
url: queryURL,
method: "GET"
}).then(function(response) {
var tbl = $("<table>");
$(tbl).addClass("table");
var objCount = JSON.stringify(response.players.length);
$(tbl).append("<thead><tr><th>ID</th><th>Team</th><th>POS</th>
<th>Player</th><th>Stat</th></tr></thead><tbody>");
for (p = 1; p < 2; p++) {
var id = response.players[p].id;
var team = response.players[p].teamAbbr;
var pos = response.players[p].position;
var plyr = response.players[p].name;
var stat = JSON.stringify(response.players[p].stats);
var plyrStatsObjLen =
JSON.stringify(response.players[p].stats.length);
console.log("statObjLength: " + plyrStatsObjLen);
$.each(response.players[p].stats, function(key, value) {
console.log(key + ": " + value);
});
$(tbl).append("<tr><td>" + id + "</td><td>" + team + "</td><td>" + pos + "</td><td>" + plyr + "</td><td>" + stat + "</td>");
}
$(tbl).append("</tbody><br/><br/>");
$("#statOutput").append(tbl);
});
Вот скрипка того, что я делаю: https://jsfiddle.net/kenneth2k1/kcf5duLr/
Если вы заметили результаты, у меня есть свойство stats, выделенное в его собственном столбце, но оно все еще находится в ключе / значении объектасостав.
Теперь вот еще один URL, в котором указана каждая статистика: https://api.fantasy.nfl.com/v1/game/stats?format=json
"stats": [
{
"id": 1,
"abbr": "GP",
"name": "Games Played",
"shortName": "GP"
},
{
"id": 2,
"abbr": "Att",
"name": "Passing Attempts",
"shortName": "Pass Att"
},
{
"id": 3,
"abbr": "Comp",
"name": "Passing Completions",
"shortName": "Pass Comp"
}, ... and so on
Так, например, идентификатор ключа "1" соответствует "Играм в играх" из эталонного объекта статистики.,
Я новичок во всем этом, поэтому я не могу обернуть голову, если я захочу подставить ключи в моем выводе с соответствующим значением имени из ссылочного объекта stats, как бы я это сделал?тот?
Например, из вывода jsfiddle вместо
{"1":"9","13":"1"}
Было бы сказано:
Games Played: 9, Rushing Attempts: 1
Надеюсь, это имеет смысл.В основном я хотел бы узнать, как сопоставлять ключи в одном объекте JSON со значениями ключей в другом.
Большое спасибо за помощь.