2016-07-04 31 views
7

mam ciąg jak:Jak przekonwertować ciąg do obiektu w angularjs

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

i chcę przekonwertować do js obiektu:

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

Uwaga: JSON.parse() nie działa! !

To moja próba w codepen

+0

'JSON.parse()' jest tym, czego szukam. - To także duplikat. – evolutionxbox

+0

Dziękujemy @rayon – evolutionxbox

+0

To nie jest dokładny duplikat. OP prosi o najlepszą odpowiedź w jego ramach (kątowe). Wiem, że JSON.Parse() działa, ale jest coś innego do zrobienia z kątowym, z kilku powodów. –

Odpowiedz

10

Można to zrobić z angular.fromJson()

w swojej próby, byłoby $scope.tmp = angular.fromJson($scope.text);

Różnica między JSON.Parse() i angular.fromJson to, że kątowa sprawdzi aby zapewnić ciąg znaków. Jeśli jest już obiektem, zwróci ten sam obiekt.

+0

proszę sprawdzić odpowiedź w moim [http://codepen.io/essvision/pen/PzjGpQ] –

+1

Musisz usunąć swoje proste cytaty na temat łańcucha znaków, aby działało: '$ scope.text =" {\ "firstName \ ": \" John \ ", \" wiek \ ": 454}"; ' –

+0

Pracował jak magia! –