jQuery:将带逗号分隔值的字符串转换为特定的JSON格式

cho*_*ata 10 javascript jquery json

我一直在为一些可能微不足道的事情而浪费时间:

我有一个逗号分隔的电子邮件地址列表,我想将其转换为特定的JSON格式,以便与Mandrill API一起使用(https://mandrillapp.com/api/docs/messages.JSON.html)

我的字符串:

var to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me';
Run Code Online (Sandbox Code Playgroud)

我认为它需要是什么:

[
    {"email": "bigbadwolf@grannysplace.com"},
    {"email": "hungry@hippos.com"},
    {"email": "youtalkin@to.me"}
]
Run Code Online (Sandbox Code Playgroud)

我有一个JSFiddle我几乎拥有它我想:http: //jsfiddle.net/5j8Z7/1/

我一直在研究几个jQuery插件,其中包括:http://code.google.com/p/jquery-json 但我不断收到语法错误.

关于SO的另一篇文章建议手工完成:JavaScript关联数组到JSON

这可能是一个微不足道的问题,但Mandrill API的Codecadamy文档已经停止了一段时间,并且没有可用的例子.

Ant*_*ton 19

var json = [];
var to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me';
var toSplit = to.split(",");
for (var i = 0; i < toSplit.length; i++) {
    json.push({"email":toSplit[i]});
}
Run Code Online (Sandbox Code Playgroud)


Ven*_*t.R 5

尝试这个 ES6 版本,它具有更好的代码片段性能。

'use strict';

let to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me';

let emailList = to.split(',').map(values => {
    return {
        email: values.trim(),
    }
});

console.log(emailList);
Run Code Online (Sandbox Code Playgroud)