[英]I need help parsing JSON
当我用console.log记录所获取的数据时,我得到的是一个看起来像这样的对象(我整理了一些内容以使其看起来更易读,并且...基本上是具有不同值的信息的重复):
[ Submission {
title: 'Untitled',
content:
{ url: 'http://orig00.deviantart.net/8791/f/2016/079/7/b/untitled_by_wecode-d9vvg2w.png',
height: '400',
width: '400',
medium: 'image' },
text: null },
Submission {
...
},
Submission {
...
} ]
我想从每个提交的内容中获取URL。 最后,我应该得到一个包含多个URL的数组。 如果有任何帮助,我正在使用nodejs。
使用.map ,它通过将函数应用于旧数组中的每个元素来创建一个新数组。
var arrayOfSubmissions = ...
var arrayOfURLs = arrayOfSubmissions.map(function(submission){
return submission.content.url
})
.map
是您的朋友。 它遍历数组的每个项目,并将每次函数运行返回的内容添加到新数组中。
var urls = yourArray.map(function (item) {
return item.content.url;
});
因此,这里有一个对象数组-假设它存储在名为myArray
的变量中。 要获取仅URL的新列表,您可以执行以下操作:
var listOfUrls = [];
myArray.forEach(function(obj) {
listOfUrls.push(obj.content.url);
}
这将为您提供所需的阵列。 这是一种简单的方法,但是您也可以通过其他方法(例如map
var yourObject = [{
Submission: {
title: 'Untitled',
content: {
url: 'http://orig00.deviantart.net/8791/f/2016/079/7/b/untitled_by_wecode-d9vvg2w.png',
height: '400',
width: '400',
medium: 'image'
},
text: null
}
}];
// your new array of url's
var urls = [];
for (i = 0; i < yourObject.length; i++) {
urls.push(yourObject[i].Submission.content.url);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.