javascript - JSON 到对象 - JavaScript

标签 javascript json node.js

我正在尝试获取一个格式如下的 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/

相关文章:

javascript - 新创建的dom元素不能拖动

json - org.json.JSONObject 与 javax.json.JsonObject?

python - [XXX] 处的 ManyRelatedManager 对象不可 JSON 序列化

perl - 在 perl 中解码 UTF-8 JSON 的问题

javascript - Node 请求如何处理 session

javascript - 如何仅为 POST 请求创建 Node 服务器

javascript - 为什么正则表达式匹配的字符串表现得很奇怪?

javascript - Console.log 返回 'undefined'

javascript - 在客户端 HTML\JS 脚本中嵌入服务器标签,无需模板引擎

javascript - 将 JavaScript 函数注入(inject) UIWebView 并不总是有效