toSource()
gibt einen String zurück, so dass Sie .replace()
Methode der Javascript verwenden können, es einen regulären Ausdruck vorbei an den Klammern abzustreifen und dann JSON.parse()
auf der resultierende String nennen es in ein Objekt zurück zu drehen.
so wie:
var obj = {name: "myname", value:"myvalue"};
var toSourced = obj.toSource();
var stringObj = toSourced.replace(/\((.*)\)/, "$1");
var objAgain = JSON.parse(stringObj);
alert(objAgain.name);
Als Randnotiz wird toSource()
nicht durch IE oder Chrome unterstützt, und Sie sollten es Gebrauch vermeiden, wie Sie es JSON.stringify()
vorbei, ein JSON-Objekt in einen String verwandeln Das ist nativ in IE8 +, Firefox und Chrome.
Das Entfernen der Klammern bei eval funktioniert nicht. Sie nicht zu strippen. Quelle: willcode4beer.com/tips.jsp?set=jsonInvalidLabel –