我对vue js完全陌生,我只想遍历json数据,并想找出我所需的数据是否在文件中可用。这是json的示例:
[
{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "St",
"text": "",
"filter": false,
"sidebar": "se-right",
"sidebar-order": 0,
"inherited": "yes",
"number": 0
}
},
{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "Twitter Feed",
"twitteruser": "Stei",
"sidebar": "sectht",
"sidebar-order": "4"
}
}]我只想遍历并查找"instance“是否包含值twitteruser。
我试过这段代码:
const data = JSON.parse(res).data
console.log(data[0].instance)发布于 2017-07-28 03:59:24
您可以使用以下方式进行迭代。
<script>
var json_data = [
{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "St",
"text": "",
"filter": false,
"sidebar": "se-right",
"sidebar-order": 0,
"inherited": "yes",
"number": 0
}
},
{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "Twitter Feed",
"twitteruser": "Stei",
"sidebar": "sectht",
"sidebar-order": "4"
}
}];
for( var i = 0; i < json_data.length; i++) {
if(typeof json_data[i].instance == 'object' && typeof json_data[i].instance.twitteruser != 'undefined'){
console.log(json_data[i].instance.twitteruser);
}
}
</script>发布于 2017-07-28 03:54:56
如果你的data是一个从你的JSON解析的数组,你可以这样做:
var filtered = data.filter(function(item) {
return item.instance && item.instance.twitteruser
})filtered将是一个仅包含具有twitteruser的元素的新数组
如果您只想知道是否存在,可以测试filtered的长度
if (filtered.length > 0) {
// do something
}发布于 2017-07-28 03:52:07
如果我没理解错的话,您有一个对象数组,每个对象都包含instance键下的另一个对象,并且您希望了解这些instance对象中是否有包含键twitteruser的对象。只需编写一个for循环并检查:
const data = [{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "St",
"text": "",
"filter": false,
"sidebar": "se-right",
"sidebar-order": 0,
"inherited": "yes",
"number": 0
}
},
{
"id": "text-5",
"widget": "hello",
"params": {
"0": "section-right",
"name": "Right",
"id": "section",
"description": "",
"class": "",
"after_title": "",
"widget_id": "text-5"
},
"instance": {
"title": "Twitter Feed",
"twitteruser": "Stei",
"sidebar": "sectht",
"sidebar-order": "4"
}
}
];
for (var i = 0; i < data.length; i++) {
if (data[i].instance.twitteruser !== undefined) {
console.log("Found it at index " + i + ".");
break;
}
}
https://stackoverflow.com/questions/45359613
复制相似问题