web-dev-qa-db-fra.com

Comment convertir une chaîne en objet dans Angularjs

J'ai une chaîne comme:

$scope.text = '"{\"firstName\":\"John\",\"age\":454 }"';

et je veux convertir en objet js:

 $scope.tmp =  {"firstName":"John","age":454 };

Remarque: JSON.parse() ne fonctionne pas !!

C'est mon échantillon dans codepen

11
Ehsan Ali

Vous pouvez le faire avec angular.fromJson ()

dans votre échantillon, il aurait été $scope.tmp = angular.fromJson($scope.text);

La différence entre JSON.Parse() et angular.fromJson, c'est que angular vérifiera pour s'assurer qu'une chaîne est fournie. S'il s'agit déjà d'un objet, il retournera le même objet.

18