我在尝试弄清楚如何从这个Json中提取名称和网址时遇到了一些麻烦。
这是我的Json和Javascript。这成功地循环并提取每个对象,例如“1977”部分。但我需要提取名称和网址并显示它们。有人可以帮忙吗?这很简单,我几乎不敢相信。
[{
"1977": [{
"name": "my name 1",
"url": "myurl 1"
}],
"2104": [{
"name": "my name 2",
"url": "myurl 2"
}]
}]
var obj = JSON.parse(jsonString); //a parses above json
for (var i = 0; i < obj.length; i++) {
console.log(obj[i]); //returns the object
}
答案 0 :(得分:2)
您需要遍历对象并仅选择所需的属性,例如
for (var i = 0; i < obj.length; i++) {
for (var year in obj[i]) {
console.log("Current year is", year);
console.log(obj[i][year][0].name);
console.log(obj[i][year][0].url);
}
}
<强>输出强>
Current year is 1977
my name 1
myurl 1
Current year is 2104
my name 2
myurl 2
答案 1 :(得分:1)
for (var i = 0; i < obj.length; i++) {
console.log(obj[i][0].name);
console.log(obj[i][0].url);
}
答案 2 :(得分:0)
以下是两种访问该名称的方法。
obj[0]['1977'][0]['name']
obj[0]['1977'][0].name
答案 3 :(得分:0)
for (var i = 0; i < obj.length; i++) {
for (var j=0; j<obj[i].length; j++) {
console.log(obj[i][j][0].name);
console.log(obj[i][j][0].url);
}
}
答案 4 :(得分:-1)
您可以使用点运算符
进行简单提取for (var i = 0; i < obj.length; i++) {
var og = obj[i];
Object.keys(og).forEach(function (key) { //missed to loop through it
console.log(og[key][0].name);
console.log(og[key][0].url);
});
}