值数组json:如何使用Angular js获取元素?

时间:2013-11-30 17:30:05

标签: json angularjs

对api的调用返回了这个json:

[
{
    "RESULT": {
        "TYPES": [
            "bigint",
            "varchar",
            "varchar",
            "varchar",
            "varchar",
            "varchar",
            "date",
            "varchar",
            "int",
            "int",
            "varchar"
        ],
        "HEADER": [
            "kvk",
            "bedrijfsnaam",
            "adres",
            "postcode",
            "plaats",
            "type",
            "anbi",
            "status",
            "kvks",
            "sub",
            "website"
        ],
        "ROWS": [
            [
                "273121520000",
                "Kinkrsoftware", <-- this is the value i want
                "Oude Trambaan 7",
                "2265CA",
                "Leidschendam",
                "Hoofdvestiging",
                null,
                null,
                "27312152",
                "0",
                null
            ]
        ]
    }
}
]

我无法更改api代码。

我正在使用Angular,但我看不到能够访问这些值。

这是我的控制者:

  .controller('MainCtrl', function($scope, $http, $log, kvkInfo) {

  kvkInfo.success(function(status, data) { 

        $scope.name = status;
    $scope.bedrijf = data;
    $scope.status = status;
      });


});

我试过了

data.RESULT.ROW,data.RESULT.ROW [1],data.RESULT [0] .ROW,data.RESULT [0] .ROW [1],data.ROW [1]

我怎样才能得到这个元素?

2 个答案:

答案 0 :(得分:25)

你得到的是[,所以它是一个数组。所以你需要data[0]

此数组的第一个元素(data[0])是一个具有RESULT属性的对象(以{开头)。所以你可以使用data[0].RESULT

RESULT属性的值是另一个具有ROWS属性的对象(注意最后的S)。所以你可以使用data[0].RESULT.ROWS

ROWS的值是一个数组,包含另一个数组,因此您需要data[0].RESULT.ROWS[0][1]

答案 1 :(得分:2)

你的api结果被包装在一个数组中,所以你必须将它的第一个元素保存到范围而不是整个数组。