AngularJS 从 $http 返回的对象 - 如何获得 key/value 对

AngularJS object returned from $http - how to get key/value pairs

在 AngularJS 应用程序中,我在 data 中存储了一个从 $http 返回的对象,看起来像这样:

[{"var1":"1","var2":"2","var3":"3"}]

我希望能够得到"var2"的值。

我认为这很容易:

$scope.myObj = data;

$scope.myVar = $scope.myObj.var2;  //$scope.myvar should "2"

相反,$scope.myObj returns undefined

如何访问 var2 的值?

在您的案例中,数据似乎是一个数组。如果它的大小始终为 -1 数组,则只需执行以下操作:

$scope.myObj = data[0]; //Add any necessary null checks

如果数组的大小大于 1,则通过遍历数组相应地修改逻辑。

angular.isObject() returns 正确,因为数组也是一个对象。

您可以在检查 isObject 之前使用 angular.isArray(obj) 以确保按原样过滤掉数组。如果你得到混合数据,即有时是对象,有时是大小为 1 的数组,你也可以这样做:- $scope.myObj = [].concat(data)[0].