2016-11-22 50 views
0

当前新的&使用Nginx serv在使用AngularJS的Web应用程序上工作。使用AngularJS在JSON对象中选择精确数据的值

我想选择一些精确的值,把它们放在一个html表格中。

我一直在寻找,从来没有找到一个合适的解决方案。

你有什么想法可以使这项工作?

下面的代码:

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
     <script> 
     var app = angular.module('app', []); 
     app.controller('myCtrl', function($scope, $http) { 
      $http.get('variables.json').success(function(data) { 
       $scope.variables = data; 
      }); 
     }); 
     </script> 
    <link rel="stylesheet" type="text/css" href="../app/css/style.css"> 
    </head> 
    <body ng-app="app" ng-controller="myCtrl" ng-init="variables"> 
     <ul> 
     <li ng-repeat="var in variables"> 
      {{var.b}} 
      {{var.a}} 
     </li> 
     </ul> 
    </body> 
</html> 

JSON文件:

{ 
    "a":6084.0, 
    "b":979 
} 

我只是把JSON文件的一个例子。我的目的是显示例如只是b或值。

回答

1

您可以阅读$变量和显示值(键,值)。

<ul> 
    <li ng-repeat="(key,value) in variables"> 
     {{key}}:{{value}} 
    </li> 
    </ul> 

演示链接 https://plnkr.co/edit/nTUOvyMHcDRdtSzyecLw?p=preview

+0

THX,但在这里它会显示所有的值吗?如果我只想显示b(979)的值?例如在Java中,我将解析JSON文件,获取b的值并将其放入一个变量中,以便稍后使用它。在这里我想分开这些值,这样我就可以构建一个html表并按照我的意愿进行组织。我不知道它是否可以用Angular实现... – Matieu

+0

如果你只需要变量的“b”值,就可以直接使用{{variables.b}}进行访问。否则,你必须改变你的JSON格式。 –

+0

我以前见过,但是当我这样做时,我实际上没有任何反应,没有控制台错误,但没有显示在我的表格中。 {{var.b}}如果语法错误,控制台会对我大喊大叫? – Matieu

0

只有当你的json中的数据是数组时,ng-repeat才起作用因为数据是Object,所以它不会找到任何元素,所以它不会显示数值。

变化的Json如下:

[{ 
    "a":6084.0, 
    "b":979 
}] 
0

该指令ngRepeat处理对象,如果使用的语法如下:

<div ng-repeat="(key, value) in myObj"> ... </div>