2013-08-30 6 views
9

Ich habe stundenlang über etwas zu verlieren, die trivial sein könnte:jQuery: Konvertieren String mit comma separated values ​​auf bestimmte JSON-Format

ich eine Liste von durch Kommata getrennte E-Mail-Adressen habe, die ich will konvertieren zu einem bestimmten JSON-Format, für die Verwendung mit der Mandrill API (https://mandrillapp.com/api/docs/messages.JSON.html)

My string:

var to = '[email protected],[email protected],[email protected]'; 

Was (glaube ich) muß es sein:

Ich habe ein JSFiddle bekam, in dem ich es fast habe ich denke: http://jsfiddle.net/5j8Z7/1/

Ich habe in einige jQuery-Plugins suchen, unter welchen: http://code.google.com/p/jquery-json Aber ich halte Syntaxfehler bekommen.

Ein weiterer Beitrag am So schlug ihn mit der Hand tun: JavaScript associative array to JSON

Dies könnte eine triviale Frage, aber die Codecadamy Dokumentation der Mandrill API ist seit einiger Zeit nach unten und es gibt keine anständigen Beispiele zur Verfügung.

+0

könnten Sie spalteten nur auf Komma, aber wenn Sie keine Kontrolle über die E-Mail-Adressen, die nicht zu 100% sicher ist, da eine gültige E-Mail-Adresse ein Komma in ihm haben kann. – Pointy

Antwort

2

Versuchen Sie, die Schleife zu diesem Wechsel:

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

Danke für deine Antwort! Ich hätte es akzeptiert, aber @Anton war zuerst ;-) – maartenmachiels

2

Wie wäre:

var to = '[email protected],[email protected],[email protected]', 
    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]); 
} 

Ausgang:

Object {email: "[email protected]"} 
Object {email: "[email protected]"} 
Object {email: "[email protected]"} 

Demo: http://jsfiddle.net/tymeJV/yKPDc/1/

+0

Wow, was für eine seltsame Technik. Hab das noch nicht gesehen! – maartenmachiels

Verwandte Themen