{"ScriptPreparationCode":"function copyX(x) {\r\n return {\r\n a: x.a,\r\n b: x.b,\r\n c: {\r\n a: x.c.a\r\n }\r\n }\r\n}\r\n\r\nfunction cloneObject(obj) {\r\n var clone = {};\r\n for(var i in obj) {\r\n if(obj[i] != null \u0026\u0026 typeof(obj[i])==\u0022object\u0022)\r\n clone[i] = cloneObject(obj[i]);\r\n else\r\n clone[i] = obj[i];\r\n }\r\n return clone;\r\n}\r\n\r\nvar x = {\r\n a: 444,\r\n b: 666,\r\n c: {\r\n a: \u0022dddd\u0022\r\n }\r\n}","TestCases":[{"Name":"JSON","Code":"JSON.parse(JSON.stringify(x))","IsDeferred":false},{"Name":"Copy (no generic)","Code":"copyX(x)","IsDeferred":false},{"Name":"Copy (generic)","Code":"cloneObject(x)","IsDeferred":false}]}