【发布时间】:2018-10-12 18:07:46
【问题描述】:
我在 JSON 中调用,返回类似于
这是 JSON 文件的实际部分。不仅如此,我只是想展示如何获得嵌套值。
{
player: {
id: 277013255,
game: "bf4",
plat: "pc",
name: "f1ss1on",
tag: "MCG",
dateCheck: 1524851054474,
dateUpdate: 1524849279114,
dateCreate: 1385342286868,
dateStreak: 1524849279114,
lastDay: "20160222",
country: "",
countryName: null,
rank: {
nr: 33,
imgLarge: "bf4/ranks/r33.png",
img: "r33",
name: "Master Sergeant III",
needed: 1280000,
next: {
nr: 34,
imgLarge: "bf4/ranks/r34.png",
img: "r34",
name: "Master Sergeant IV",
needed: 1345000,
curr: 1317090,
relNeeded: 65000,
relCurr: 37090,
relProg: 57.06153846153846
}
},
我的代码是:
$(document).ready(function() {
"use strict";
var html = '';
$("button").click(function() {
$.getJSON("https://api.bf4stats.com/api/playerInfo?plat=pc&name=f1ss1on&output=json", function(result) {
$.each(result, function(i, entry) {
html += '<ul>';
html += '<li class="name col-5">' + entry.name + '</li>';
html += '<li class="date col-3">' + entry.tag + '</li>';
html += '<li class="assigned col-4">' + entry.rank + '</li>';
html += '</ul>';
});
}
$('div').html(html);
});
});
预期回报应该是
- f1ss1on
- MCG
- 33
但相反,我得到了这个回报:
- f1ss1on
- MCG
[对象对象]
未定义
- 未定义
- 33
如何正确地将嵌套的 JSON 对象调用到正确的元素上?
我已经尝试过:
entry.rank.nr
但这会返回“Uncaught TypeError: Cannot read property 'nr' of undefined”
【问题讨论】:
-
你的JSON声明太奇怪了,我看不懂,为什么你要打电话给28,你写
entry.rank,你应该写entry.rand.level。 -
这不是有效的 JSON。
-
无效的 JSON 和无效的 JavaScript。请粘贴网络响应的实际内容,或在解析后的响应上执行
JSON.stringify(result)。 -
我没有给出完整的 json 只是想展示它是如何嵌套的示例。
标签: javascript html json ajax