我正在尝试获取一个格式如下的 JSON 列表:(实际列表有超过 2500 个条目)。
[
['fb.com', 'http://facebook.com/']
['ggle.com', 'http://google.com/']
]
JSON 列表表示:['请求 url', '目标 url']。它是一个基于 Node.js 的重定向审计工具。
目标是将这些 JSON 值对放入具有键值数组对的 JavaScript 对象中,如下所示:
var importedUrls = {
requestUrl : [
'fb.com',
'ggle.com'
],
destinationUrl : [
'https://www.facebook.com/',
'http://www.google.com/'
]
}
由于重定向数量巨大,如果可能的话,我确实更喜欢非阻塞解决方案。
最佳答案
您首先需要创建对象:
var importedUrls = {
requestUrl: [],
destinationUrl: []
}
现在,假设您的数据位于名为 importedData
的数组中,因为缺少更好的名称。然后,您可以迭代该数组并将每个值推送到其正确的新数组:
importedData.forEach(function(urls){
importedUrls.requestUrl.push(urls[0]);
importedUrls.destinationUrl.push(urls[1]);
});
我希望这会按照您希望的方式格式化您的对象。
我会建议你采取另一种方法。 为什么不拥有一组导入的 URL,每个 URL 都有其对应的键?
你可以有这样的东西:
importedUrls = [
{
requestUrl: 'req',
destinationUrl: 'dest'
},
{
requestUrl: 'req2',
destinationUrl: 'dest2'
},
]
如果您愿意,我相信您可以弄清楚如何调整我展示的代码以适应这种格式。这样做的好处是您的网址非常清晰地分离,并且它使迭代更加直观。
关于javascript - JSON 到对象 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165983/