{"ScriptPreparationCode":"var query = \u0027test=1\u0026test=2\u0026alt=test\u0026b=8\u0026c=9\u0026alt=9\u0027;","TestCases":[{"Name":"Object.entries with URLSearchParams","Code":"var result = Object.fromEntries(new URLSearchParams(query));","IsDeferred":false},{"Name":"map reduce","Code":"var result = query.split(\u0027\u0026\u0027)\r\n .map(p =\u003E p.split(\u0027=\u0027))\r\n .reduce((obj, pair) =\u003E {\r\n const [key, value] = pair.map(decodeURIComponent);\r\n obj[key] = value;\r\n return obj;\r\n }, {});","IsDeferred":false},{"Name":"json parse decodeURI","Code":"var result = JSON.parse(\u0027{\u0022\u0027 \u002B decodeURI(query).replace(/\u0022/g, \u0027\\\\\u0022\u0027).replace(/\u0026/g, \u0027\u0022,\u0022\u0027).replace(/=/g,\u0027\u0022:\u0022\u0027) \u002B \u0027\u0022}\u0027)","IsDeferred":false},{"Name":"json parse decodeURIComponent","Code":"var result = JSON.parse(\u0027{\u0022\u0027 \u002B query.replace(/\u0026/g, \u0027\u0022,\u0022\u0027).replace(/=/g,\u0027\u0022:\u0022\u0027) \u002B \u0027\u0022}\u0027, function(key, value) { return key===\u0022\u0022?value:decodeURIComponent(value) })","IsDeferred":false}]}