2016-07-04 4 views
7

Ich habe eine Zeichenfolge wie:Wie Zeichenfolge konvertieren, um das Objekt in AngularJS

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

und ich möchte js Objekt konvertieren:

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

Hinweis: JSON.parse() funktioniert nicht! !

Es ist meine Probe ist in codepen

+0

'JSON.parse()' ist, was ich denke, Sie suchen. - Auch das ist ein Duplikat. – evolutionxbox

+0

Danke @rayon – evolutionxbox

+0

Dies ist kein exaktes Duplikat. OP fragt nach der besten Antwort in seinem Rahmen (eckig). Ich weiß, JSON.Parse() funktioniert, aber aus einigen Gründen gibt es etwas anderes mit eckigen zu tun. –

Antwort

10

Sie können es mit angular.fromJson()

in Ihrer Probe, wäre es $scope.tmp = angular.fromJson($scope.text); gewesen

Der Unterschied zwischen JSON.Parse() und angular.fromJson, ist, dass Winkel prüfen wird um sicherzustellen, dass eine Zeichenfolge bereitgestellt wird. Wenn es bereits ein Objekt ist, wird dasselbe Objekt zurückgegeben.

+0

Bitte überprüfen Sie Ihre Antwort in meinem [http://codepen.io/essvision/pen/PzjGpQ] –

+1

Sie müssen Ihre einfachen Anführungszeichen um Ihre Zeichenfolge zu entfernen, damit es funktioniert: '$ scope.text =" {\ "firstName \ ": \" John \ ", \" age \ ": 454}"; " –

+0

Arbeitete wie Magie! –

Verwandte Themen