{"ScriptPreparationCode":"const params = {\r\n \u0027key[subKey1]\u0027: \u0027value1\u0027,\r\n \u0027key[subKey2]\u0027: \u0027value2\u0027,\r\n \u0027otherKey\u0027: \u0027otherValue\u0027,\r\n \u0027key2[subKey3]\u0027: \u0027value3\u0027,\r\n \u0027key2[subKey4]\u0027: \u0027value4\u0027,\r\n};\r\nconst key = \u0027key2\u0027;","TestCases":[{"Name":"string parser","Code":"const value = {} \r\nfor (const paramKey in params) {\r\n if (paramKey.startsWith(\u0060${key}[\u0060) \u0026\u0026 paramKey.endsWith(\u0027]\u0027)) {\r\n const subKey = paramKey.substring(key.length \u002B 1, paramKey.length - 1);\r\n value[subKey] = params[paramKey];\r\n }\r\n }","IsDeferred":false},{"Name":"regex parser","Code":"const value = {} \r\nfor (const paramKey in params) {\r\n // regex:\r\n const match = paramKey.match(new RegExp(\u0060^${key}\\\\[(.\u002B)\\\\]$\u0060))\r\n\r\n if (match) {\r\n value[match[1]] = params[paramKey];\r\n }\r\n }","IsDeferred":false}]}