2010-05-31 14 views
5

Mam ciąg znaków, taki jak a=6&id=99 (mogę przechowywać go w html jako "a = 6 & id = 99", ale to nie jest to, co js zobaczy). Chciałbym przekonwertować ten ciąg na obiekt, więc mogę zrobić func (o.a); lub o.id = 44; Jak mogę to zrobić?Json Konwertuj do i od Query String z jquery?

Część 2: Jak przekonwertować ten obiekt z powrotem na ciąg zapytania? prawdopodobnie byłby to banalny kod, który mogę napisać.

Odpowiedz

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

Wypróbuj go tutaj: http://jsfiddle.net/DUpQA/1/

+1

Powinieneś uczynić tę funkcję rekurencyjną, aby poradzić sobie ze wszystkimi obiektami JSON? – babonk