javascript - 从 Angular js 中的复杂 JSON 数组获取值

标签 javascript json angularjs

我有JSON数组看起来像这样

{
    "-K3OFVYXVUiT-oYXFmgX": {
        "id": 4658,
        "username": "shamon"
    },
    "-K3OFZAt9Qyy9v6z-XYQ": {
        "id": 9891,
        "username": "manu"
    },
    "-K3OFafyCi6g9UhdR2mA": {
        "id": 7219,
        "username": "hari"
    },
    "-K3OGYGGry3pU8_Qkjg_": {
        "id": 8028,
        "username": "shamonsha"
    }
}

我想在 <ul> 中显示用户名列表

<ul>
    <li ng-repeat="user in userlist">{{user.username}}</li>
<ul>

但我会得到空结果

更新

这是我的完整代码,它是 firebase url 的响应形式,问题是我会得到 console.log($scope.userlist)但它不会在 html 列表中更新

.controller('chatCtrl',function($scope){
    messagesRef= new Firebase(chaturl+'userlist');
        messagesRef.on('value', function (snapshot) {
                  var  msg= snapshot.val();
               $scope.userlist=JSON.stringify(msg);
               console.log($scope.userlist);
            });
});

最佳答案

您可以在表达式中使用(key, value)

<ul>
    <li ng-repeat="(key, value) in userlist">
        {{value.username}}
    </li>
<ul>

DEMO

编辑:需要使用$scope.$apply(fn)以便更新更改。

.controller('chatCtrl',function($scope){
    messagesRef= new Firebase(chaturl+'userlist');
    messagesRef.on('value', function (snapshot) {
              var  msg= snapshot.val();
              $scope.$apply(function () { 
                   $scope.userlist=JSON.stringify(msg); 
              });
        });
});

关于javascript - 从 Angular js 中的复杂 JSON 数组获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33773418/

相关文章:

javascript - 如何选择/取消选择表中的行?

javascript - Jwplayer 与 angularjs

javascript - 输入类型日期 ng-model 不允许日期数据

javascript - 使用 Javascript 创建包含来自 REST API 调用的数据的表

javascript - 无法使用 html2canvas 捕获谷歌地图

javascript - 已解析 JSON 数据上的嵌套映射函数

javascript - Phaser 2 Sprite 检测边界?

javascript - 无法从前端应用程序调用 Algolia 分析 API?

javascript警报打印对象对象

javascript - Anychart 不获取动态添加的数据