尝试解析和拆分URL哈希,复杂

时间:2019-06-06 17:53:27

标签: javascript regex string split

我需要从URL哈希中获取一些信息...但是结构有点复杂并且重复性很强,可以通过...轻松地进行正则表达式...希望有人比我更聪明...

在JS中,我要添加选择,当更改时,使用更新的哈希值重新加载页面...随着页面刷新,需要解析新窗口的位置以正确匹配先前所做的选择。

URL就像这样:

#dynamic/{"sidebar":[{"facetid":8,"data":{"value":"bell"}},{"facetid":9,"data":{"value":"brooks"}}],"searchString":"SearchText","ver":1}
var parser = document.createElement('a');
parser.href = window.location.href;
var StringSource = (parser.hash).replace(/%22/g, '"');
(StringSource.split("}",StringSource.length))

我真正想要的是带有匹配值的facetid的对象数组...然后只是一个用于“ searchString”值的变量...

在这个级别的Regex和String操作方面,我感到很恐怖

1 个答案:

答案 0 :(得分:0)

您可以这样操作:

var sec = parser.href.split(/\//)
var json = JSON.parse(sec[1])

第一行将#dynamic与JSON部分分开

第二行将json部分解析为JSON可用形式。