繁体   English   中英

我需要解析JSON的帮助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM