2010-05-31 12 views
5

Tengo una cadena como a=6&id=99 (podría almacenarla en html como 'a = 6 & id = 99' pero eso no es lo que verá js). Me gustaría convertir esa cadena en un objeto para poder hacer func (o.a); o o.id = 44; ¿Cómo puedo hacer eso?Json Convertir a y desde cadena de consulta con jquery?

Parte 2: ¿Cómo convierto ese objeto a una cadena de consulta? probablemente sea un código trivial que pueda escribir.

Respuesta

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); 

Inténtelo aquí: http://jsfiddle.net/DUpQA/1/

+1

¿Necesitaría hacer esta función recursiva para tratar con todos los objetos JSON? – babonk