【发布时间】:2016-01-20 18:39:38
【问题描述】:
你好,你能帮我过滤一下这样的 Json 对象吗:
{
"data": {
"statuses": [{
"entities": {
"urls": [],
"user_mentions": [{
"screen_name": "name1"
}]
},
"entities": {
"urls": [],
"user_mentions": [{
"screen_name": "name2"
}]
},
"entities": {
"urls": [],
"user_mentions": [{
"screen_name": "name3"
}]
}
}]
}
}
我需要获取包含每个键 screen_name 的值的数组。
例如:array = ["name1","name2","name3"]
如果没有只有 JS 的框架,我怎么能做到?
感谢您的帮助。我已将 Json 更新为这样:
var obj = {
"data": {
"statuses": [{
"urls": [],
"user_mentions": [{
"indices": [
3,
16
],
"id_str": "626444770",
"id": 626444770,
"name": "katheryn",
"screen_name": "sella_sandra"
}, {
"indices": [
"***",
"***"
],
"id_str": "21447363",
"id": 21447363,
"name": "KATY PERRY",
"screen_name": "katyperry"
}, {
"indices": [
"***",
"***"
],
"id_str": "21447363",
"id": 21447363,
"name": "KATY PERRY",
"screen_name": "floyd"
}]
}]
}
我想要获取 screen_names 的数组。我写了这样的代码。但是当我使用时。它在这里不起作用:
console.log (statuses[0].user_mentions[i].screen_name)
我不是愚蠢的错误,但我不知道这有多正确。帮助伙计们!
var statuses = obj.data.statuses;
for (var i=0; i<statuses.length; i++ )
{ if ( typeof statuses[0].user_mentions !== "undefined")
{
for (var i=0; i<statuses.length; i++){
console.log (statuses[0].user_mentions[i].screen_name);
}
}
else console.log ="No senders";
}
【问题讨论】:
-
这不是有效的 JSON。
-
感谢您的帮助和编辑@MikeC
-
statuses仍然没有意义。"statuses":[{"entities": {...}, "entities": {...}, "entities": {...}}] -
真的不聪明。错误出现在“statuses.length”中。谢谢大家的帮助
标签: javascript arrays json filter