2016-06-10 23 views
0

我有一个JavaScript对象(或对象的数组?)的形式为:的Javascript:对象的URL对象

[{"id":"1","col":"0.35","type":"1"},{"id":"2","col":"0.30","type":"1"},{"id":"11","col":"0.20","type":"0"}] 

我想变成一个URL,然后可以解析这个URL回当页面加载时变成同样的形式。我还想在重新创建对象之前将标题元素添加到URL的前面。因此,对于上述的URL可能看起来像:(我不需要按键的网址,可能会很长)

http://example.com/myURL.html?Page_Title&1,0.35,1&2,0.30,1&11,0.20,0

然后在页面加载时我会删除“PAGE_TITLE”,并重新 - 创建对象,在id:,col:和type:keys中加入。

该URL可能包含数十个{id,col,type}组。

我正在使用这个功能,但我似乎无法得到它的工作。我肯定这件事很简单,我误解或忽略了。在URL

function ArrayToURL(array,title) { 
    var pairs = []; 
    for (var key in array) 
    if (array.hasOwnProperty(key)) 
    pairs.push(encodeURIComponent(array[key])); 
    my_title=(encodeURIComponent(title)); 
    return ("http://example.com/myURL.html?")+my_title+'&'+pairs.join('&'); 
    } 
+1

为什么JSON数据? – Sami

+0

我将设置存储在localStorage中。正在从存储的localStorage字符串中解析URL,然后最终返回到那里。那有意义吗? – dijon

回答

1
function ArrayToURL(array,title) { 
var pairs = []; 
for (var key in array){ 

var obj = array[key]; 
var temp=''; 

for(var key in obj){ 
    temp+=obj[key]+","; 
} 

pairs.push(temp); 

} 

my_title=(encodeURIComponent(title)); 

return ("http://example.com/myURL.html?")+my_title+'&'+pairs.join('&'); 
} 
+0

这看起来比我的好多了。你能否告诉我如何将这个URL转换回对象? – dijon