2010-05-31 5 views
5

J'ai une chaîne comme a=6&id=99 (je pourrais le stocker dans le HTML comme 'a = 6 & id = 99' cependant ce n'est pas ce que js verront). Je voudrais convertir cette chaîne en un objet afin que je puisse faire func (o.a); ou o.id = 44; Comment je fais ça?Json Convertir vers et depuis une chaîne de requête avec jquery?

Partie 2: Comment puis-je convertir cet objet en une chaîne de requête? ce serait probablement un code trivial que je peux écrire.

Répondre

11
// convert string to object 
str = 'a=6&id=99'; 
var arr = str.split('&'); 
var obj = {}; 
for(var i = 0; i < arr.length; i++) { 
    var bits = arr[i].split('='); 
    obj[bits[0]] = bits[1]; 
} 
//alert(obj.a); 
//alert(obj.id); 

// convert object back to string 
str = ''; 
for(key in obj) { 
    str += key + '=' + obj[key] + '&'; 
} 
str = str.slice(0, str.length - 1); 
alert(str); 

Essayez ici: http://jsfiddle.net/DUpQA/1/

+1

Vous auriez besoin de rendre cette fonction récursive pour gérer tous les objets JSON? – babonk

Questions connexes