web-dev-qa-db-fra.com

chaîne javascript pour s'opposer

Comment appliquer la valeur d'un objet chaîne à une variable Ex.

var str='{a:"www"}'

Maintenant, comment régler

var obj={a:"www"}

J'essaye eval () mais ne fonctionne pas

25
Ankit_Shah55
var str='{"a":"www"}';
var obj = JSON.parse(str);
32
trebuchet

eval devrait fonctionner, et c'est en fait un solution MDN , sans oublier que votre chaîne n'est pas un JSON valide, donc eval est votre seule option (si vous ne je ne veux pas inclure de bibliothèque pour ça).

var str='{a:"www"}';
var obj=eval("("+str+")");
console.log(obj);

Test rapide dans Chrome Dev Tool:

eval("("+'{a:"www"}'+")")
Object
    a: "www"
    __proto__: Object

N'oubliez pas de mettre votre chaîne entre parenthèses et de l'attribuer à l'extérieur eval et ce sera (relativement) sûr.

36
Passerby