在javascript中从querystring获取数据

时间:2012-07-12 17:43:20

标签: javascript jquery json

我非常擅长将数据从一个页面转移到另一个页面,并且我使用了查询字符串来传递数据。看起来像这样:

?redesigndata={"jsondata": "{\"images\":[ {\"src\":\"images/bgset.jpg\"},{\"src\":\"images/ar019.png\"}]}","product_hardware": "silver","product_thread": "white","product_lining": "Blue","product_lining_loc": "images/lining/blue_80x32.jpg"}

如何从中删除所有\,然后使用Javascript或jQuery将其放入对象或类似内容中:

redesigndata = {
    "jsondata": "{"images":[ {"src":"images/bgset.jpg"},{"src":"images/ar019.png"}]}",
    "product_hardware": "silver",
    "product_thread": "white",
    "product_lining": "Blue",
    "product_lining_loc": "images/lining/blue_80x32.jpg"
}

2 个答案:

答案 0 :(得分:2)

为什么要删除那些反斜杠?如果没有它们,JSON将不再有效。现在你已经嵌套了JSON,所以你可以像这样解析它(strredesigndata值):

var redesigndata = JSON.parse(JSON.parse(str).jsondata);

答案 1 :(得分:2)

location.search将为您提供查询字符串(从?开始)。剥离?,将其拆分为=,然后JSON.parse

var jsonStr = location.search.substring(1).split('=');
var obj = JSON.parse(unescape(jsonStr[1]));

然后你可以解析jsondata

var jsondata = JSON.parse(obj.jsondata);