【发布时间】:2022-01-20 15:48:03
【问题描述】:
我需要从这样的 JSON 中获取所有“需要”值:
var body = {"payload":[
{
"analitic": {
"id": 9448,
"name": "Group"
},
"key": 27,
"data": [
{
"id": 35368,
"name": "sku",
"value": "1",
"valueId": "Need_1"
}
]
},
{
"analitic": {
"id": 9448,
"name": "Group"
},
"key": 110,
"data": [
{
"id": 35368,
"name": "sku",
"value": "1",
"valueId": "Need_2"
}
]
}
]
}
我认为为此使用 map()。我在正确的轨道上吗?我如何获得这些值? (我把json缩小了,原来还有很多其他字段我不需要)
更新: 研究了codecademy后的解决方案竟然是这样的:
body.payload.map(function(i) {return i.data.filter(function(j)
{return j.id == 35368}).map(function(k)
{return k.valueId})}).join(",")
// result: "Need_1, Need_2"
【问题讨论】:
-
有什么问题?
-
JS 中任何以
= {开头的都不是 JSON。
标签: javascript json parsing