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

Javascript jQuery:将带有逗号分隔值的字符串转换为特定的JSON格式,javascript,jquery,json,Javascript,Jquery,Json,我一直在为一些琐事浪费时间: 我有一个逗号分隔的电子邮件地址列表,我想将其转换为特定的JSON格式,以便与Mandrill API()一起使用 我的字符串: var to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me'; (我认为)它应该是: [ {"email": "bigbadwolf@grannysplace.com"}, {"email": "hungry@hippos.com"},

我一直在为一些琐事浪费时间:

我有一个逗号分隔的电子邮件地址列表,我想将其转换为特定的JSON格式,以便与Mandrill API()一起使用

我的字符串:

var to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me';
(我认为)它应该是:

[
    {"email": "bigbadwolf@grannysplace.com"},
    {"email": "hungry@hippos.com"},
    {"email": "youtalkin@to.me"}
]
我有一个JSFiddle,我想我几乎有了它:

我一直在研究几个jQuery插件,其中包括: 但我总是会遇到语法错误

另一篇关于SO的帖子建议手工操作:

这可能是一个无关紧要的问题,但是Mandrill API的CodeAdamy文档已经关闭了一段时间,没有合适的示例可用。

var json=[];
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]});
}
var至bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me'; var toSplit=to.split(“,”); 对于(var i=0;i
尝试将循环更改为:

    var JSON = [];
    $(pieces).each(function(index) {
        JSON.push({'email': pieces[index]});   
    });
那么:

var to = 'bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me',
    obj = [],
    parts = to.split(",");

for (var i = 0; i < parts.length; i++) {
    obj.push({email:parts[i]});
}

//Logging
for (var i = 0; i < obj.length; i++) {
    console.log(obj[i]);
}

演示:

试试这个ES6版本,它可以更好地执行代码片段

“严格使用”;
让我们来讨论一下bigbadwolf@grannysplace.com,hungry@hippos.com,youtalkin@to.me';
让emailList=to.split(',').map(值=>{
返回{
电子邮件:values.trim(),
}
});

console.log(emailList)你可以用逗号分开,但是如果你不能控制电子邮件地址,那就不是100%安全的,因为一个有效的电子邮件地址可能有一个逗号。你让它看起来很简单:-)我很快就会接受你的回答。显然我得等10分钟!哇,多么奇怪的技术啊。我以前没见过这个!谢谢你的回答!我本来会接受的,但@Anton是第一个;-)
Object {email: "bigbadwolf@grannysplace.com"}
Object {email: "hungry@hippos.com"}
Object {email: "youtalkin@to.me"}