存外標準機能でついていなくて、
jquery - Convert URL parameters to a JavaScript object - Stack Overflow
を使う。
var search = location.search.substring(1); JSON.parse('{"' + decodeURI(search).replace(/"/g, '\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}')
別解もあるらしく、
>```js
JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })
微妙に変換される文字列が違う。
ひとまずURLエンコードされは文字列は必要なかったので、最初のものをdecodeURIComponent
に変えた
JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g,'":"') + '"}')
を使うこととする。