0

所以我试图通过一个休息 API 用 json 填充一个 ng-grid 实例。我已经对此进行了测试,并且可以在设置中使用,所以我知道这不是配置问题。当它工作时,API返回一个带有顶级“用户”的json对象:我认为包含一个数组的对象。我能够很容易地获得用户对象中的值,因为它被命名。

现在 API 发生了变化,它在一个以递增整数命名的对象中返回每个用户。我不确定如何访问这些属性。这是 json 的精简模型。

{
    "1": {
        "id":"1",
        "first_name":"Bob",
        "last_name":"Jones",
        "email":"bob@jones.com",
        "status":"1"
    },
    "2": {
        "id":"2",
        "first_name":"Mike",
        "last_name":"Jones",
        "email":"mike@jones.com",
        "status":"1"
    },
    "3": {
        "id":"3",
        "first_name":"John",
        "last_name":"Jones",
        "email":"john@jones.com",
        "status":"0"
    }
}

在我的控制器中,我正在像这样设置网格:

$scope.usersList = usersFactory.list.query()
    .then(function (data){
      return data;
    }, function (error){
      console.log('ruh roh');
    });

然后

$scope.userListGrid = { 
    data: 'usersList',
    enableSorting: true,
    columnDefs: [
      {field:'first_name', displayName:'First name'}, 
      {field:'last_name', displayName:'Last name'},
      {field:'email', displayName:'Email'}, 
      {field:'status', displayName:'Status'}
    ]};

所以我的问题是,如何在不知道他们确切名字的情况下访问 json 响应中的第一个孩子?我是否需要将它们全部循环并首先将它们放入一个数组或类似的东西中?

谢谢您的帮助!

4

1 回答 1

1

我真的不认为ng-grid可以直接处理这个;transformResponse您应该在成功回调函数或资源方法的回调中将数据转换为数组query()

于 2013-09-23T11:43:17.627 回答