如何迭代角度 json 对象

Posted

技术标签:

【中文标题】如何迭代角度 json 对象【英文标题】:How to Iterate over angular json object 【发布时间】:2016-01-25 17:20:26 【问题描述】:

我创建了一个 nodejs 应用程序,它将读取我的 mongo Db 中的所有数据库。我可以在控制台中做到这一点。但是,当我尝试将数据解析为 json 对象并将其显示到屏幕上时,我无法设法获取要显示的信息。希望有人可以帮助我弄清楚如何或告诉我我做错了什么。谢谢

app.js

// listen for get request, aka transfers the info in mongo to client
app.get('/databases', function (req, res) 
    console.log("-- recived GET request --"); 
    db.open(function(err, db) 

      // Use the admin database for the operation
      var adminDb = db.admin();

      // List all the available databases
      adminDb.listDatabases(function(err, dbs) 
        assert.equal(null, err);
        assert.ok(dbs.databases.length > 0);
        console.log(dbs);
        res.json(dbs); 
        db.close();
      );
    );
); 

controller.js

var app = angular.module('myApp', []);

app.controller('customersCtrl', function($scope, $http) 
    console.log("controller connected");

function refresh() 
// create route 
$http.get('/databases').success(function(response) 
    console.log("recived data requested");
    $scope.databases = response; 
  );


// Call refresh to get req
refresh(); 

);// Controller 

index.html

<body>

<div ng-app="myApp" ng-controller="customersCtrl"> 

<ul>
  <li ng-repeat="contact in databases">
     contact 
  </li>
</ul>
 <button type="button" onclick="hitMe()">Click Me!</button> 
</div>

</body>

【问题讨论】:

您是否尝试添加另一个 ng-repeat,然后通过 contract.names 或 contact.Sizeof 重复 可以单步执行您的代码并查看您的响应如何?在相同的情况下,您需要从响应中获取数据属性: $scope.databases = response.data; (docs.angularjs.org/api/ng/service/$http#general-usage - 响应对象) 是的,安德鲁我试过了。没用。 punov 有正确的答案 【参考方案1】:

正如 Andrew 所说,在您的 html 代码中尝试 contact.name。

“联系人”本身就是整个对象。您必须指定要使用对象的哪一部分。

【讨论】:

【参考方案2】:

看起来您需要遍历 datebases.databases 对象。 只要 $scope.databases 是:


 databases: [],
 totalSize: ..,
 ..

您的页面上需要以下 ng-repeat:

<ul>
  <li ng-repeat="contact in databases.databases">
     contact.name 
  </li>
</ul>

【讨论】:

哦,谢谢。这行得通。 'databases.databases' 有什么作用? 我刚刚注意到,在你的数据库($scope.databases = response)对象中,当你安慰它时,你有“数据库”字段。并且只有这个字段包含联系人数组

以上是关于如何迭代角度 json 对象的主要内容,如果未能解决你的问题,请参考以下文章

python 11 函数名 迭代器

如何在powershell中迭代json对象

如何迭代嵌套的 JSON 对象 [重复]

如何在角度模板中迭代字典?

如何迭代sqlite中嵌套json对象中的数组?

如何迭代由json对象中的键访问的数组[重复]