在客户端从数组构造JSON对象?

时间:2013-03-30 14:41:01

标签: javascript jquery node.js

我有一个像这样的字符串数组:

['QWJvdXQ=','SG93IGl0IFdvcmtz','SG9tZQ==','Q29udHJpYnV0ZQ==','Q29udGFjdA==']

我想做的是把它变成这样的东西:

[
   {
       "id" : "QWJvdXQ=",
       "url": "about.html"

   },
   {
       "id" : "SG93IGl0IFdvcmtz",
       "url": "how_it_works.html"

   },
   {
       "id" : "SG9tZQ==",
       "url": "index.html"

   },
   {

       "id" : "Q29udHJpYnV0ZQ==",
       "url": "contribute.html"
   },
   {
       "id" : "Q29udGFjdA=="
       "url": "contact.html"
   }
]

属性不是焦点 - 我基本上要做的是将数组中的每个项目作为一个对象,将值作为属性的值,并添加另一个(或更多)键值对进入那些对象。

现在,我正在尝试使用jQuery和JS在客户端执行此操作。我也在运行node.js,所以如果在服务器端更容易做到这一点,我会接受任何建议。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:9)

你需要什么

所有在一起;

JSON.stringify(
    ['QWJvdXQ=','SG93IGl0IFdvcmtz','SG9tZQ==','Q29udHJpYnV0ZQ==','Q29udGFjdA=='].map(
        function (e) {
            return {
                    'id': e,
                    'url': atob(e).toLowerCase().replace(/\s/g, '_') + '.html'
                   }; // I converted the string to URL as I expect you wanted
        }
    ),
0, 4);