从Javascript检索JSON对象值
我不熟悉Javascript和JSON。我想通过Javascript获得以下JSON值。我需要检索“login”值并分别将“a”、“d”和“c”相加。我设法获得了“login”值,但我不知道如何检索“a”、“d”和“c”值 JSON:从Javascript检索JSON对象值,javascript,json,Javascript,Json,我不熟悉Javascript和JSON。我想通过Javascript获得以下JSON值。我需要检索“login”值并分别将“a”、“d”和“c”相加。我设法获得了“login”值,但我不知道如何检索“a”、“d”和“c”值 JSON: 您可以使用数组方法和。jQuery不是很必要 var retrieved = data.map(function(v) { var ret = v.weeks.reduce(function(a, b) { return { a: a.a
您可以使用数组方法和。jQuery不是很必要
var retrieved = data.map(function(v) {
var ret = v.weeks.reduce(function(a, b) {
return {
a: a.a + b.a,
d: a.d + b.d,
c: a.c + b.c
}
})
ret.login = v.author.login
return ret
})
您可以使用数组方法和。jQuery不是很必要
var retrieved = data.map(function(v) {
var ret = v.weeks.reduce(function(a, b) {
return {
a: a.a + b.a,
d: a.d + b.d,
c: a.c + b.c
}
})
ret.login = v.author.login
return ret
})
试试这个,它会起作用的:
var data = [
{
"total": 2,
"weeks": [
{
"w": 1214092800,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1474761600,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1476576000,
"a": 0,
"d": 0,
"c": 0
}
],
"author": {
"login": "ramiro"
}
}
];
JSON:
var data = [
{
"total": 2,
"weeks": [
{
"w": 1214092800,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1474761600,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1476576000,
"a": 0,
"d": 0,
"c": 0
}
],
"author": {
"login": "ramiro"
}
}
];
1。用于环路内
var weekData = data[0].weeks;
for (var i in weekData) {
console.log(data[0].weeks[i].a,data[0].weeks[i].d,data[0].weeks[i].c);
}
2。使用数组映射方法
var weekData = data[0].weeks;
var returnData = weekData.map(function(e) {
return {
a: e.a,
d: e.d,
c: e.c
}
})
console.log(returnData);
工作小提琴:试试这个它会工作的:
var data = [
{
"total": 2,
"weeks": [
{
"w": 1214092800,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1474761600,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1476576000,
"a": 0,
"d": 0,
"c": 0
}
],
"author": {
"login": "ramiro"
}
}
];
JSON:
var data = [
{
"total": 2,
"weeks": [
{
"w": 1214092800,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1474761600,
"a": 0,
"d": 0,
"c": 0
},
{
"w": 1476576000,
"a": 0,
"d": 0,
"c": 0
}
],
"author": {
"login": "ramiro"
}
}
];
1。用于环路内
var weekData = data[0].weeks;
for (var i in weekData) {
console.log(data[0].weeks[i].a,data[0].weeks[i].d,data[0].weeks[i].c);
}
2。使用数组映射方法
var weekData = data[0].weeks;
var returnData = weekData.map(function(e) {
return {
a: e.a,
d: e.d,
c: e.c
}
})
console.log(returnData);
工作fiddle:使用数组过滤器不是一个解决方案…您可以尝试查看weekData的功能…weekData和returnData的结果是相同的这很好…我认为这是目前为止最好的方法now@PankajKumar非常感谢你的夸奖。如果你认为这个答案对其他人有利,你可以选择它。使用数组过滤器不是一个解决方案…您可以尝试查看weekData的功能…weekData和returnData的结果是相同的。这很好…我认为这是目前为止最好的方法now@PankajKumar非常感谢你的夸奖。如果你认为这个答案对别人有利,你可以把它投给别人。