说,我们有一个查询字符串,如下所示:
"param1:'test1' && param2:'test2'"
我想把它变成一个对象地图,像这样:
{param:test1,param2:test2}
怎么办?这似乎是一个很常见的用例.
解决方法
我通常使用
“search and don’t replace”方法:
var ret = {},str = "param1:'test1' && param2:'test2'"; str.replace(/(\b[^:]+):'([^']+)'/g,function ($0,param,value) { ret[param] = value; }); JSON.stringify(ret); // -> { "param1": "test1","param2":"test2" }