toSource()
возвращает строку, поэтому вы можете использовать метод javascript .replace()
, передавая ему регулярное выражение, чтобы убрать скобки, а затем вызвать JSON.parse()
в результирующей строке, чтобы превратить ее обратно в объект.
Примерно так:
var obj = {name: "myname", value:"myvalue"};
var toSourced = obj.toSource();
var stringObj = toSourced.replace(/\((.*)\)/, "$1");
var objAgain = JSON.parse(stringObj);
alert(objAgain.name);
В качестве примечания: toSource()
не поддерживается IE или Chrome, и вам следует избегать его использования, поскольку вы можете превратить объект JSON в строку с помощьюпередавая его в JSON.stringify()
, который является родным в IE8 +, Firefox и Chrome.