Javascript 使用AngularJS访问和显示JSON对象

Javascript 使用AngularJS访问和显示JSON对象,javascript,angularjs,json,Javascript,Angularjs,Json,我试图用AngularJS访问JSON中的对象,并显示值。我在用JSON创建数组时已经这样做了,但这次我想用一个对象展示一个示例。这是我的代码: 我的JSON文件 { "user": { "Name":"Ben", "City":"New York"}} 我的angular应用程序 var app = angular.module('myApp', []); app.controller('jsonObjectExample', function($scope, $http) {

我试图用AngularJS访问JSON中的对象,并显示值。我在用JSON创建数组时已经这样做了,但这次我想用一个对象展示一个示例。这是我的代码:

我的JSON文件

{ "user": {
"Name":"Ben", 
"City":"New York"}}
我的angular应用程序

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

    app.controller('jsonObjectExample', function($scope, $http) {
      $http.get("jsonobject.json").then(function (response) {
          $scope.myData = response.data.user;
      });
    });
我的HTML

<body>
    <div ng-app="myApp" ng-controller="jsonObjectExample"> 
      <ul>
        <li ng-repeat="x in myData">
          {{ x.Name + ', ' + x.City }}
        </li>
      </ul>
    </div>
  </body>

  • {{x.Name+','+x.City}
以下是指向plunker上这些文件的链接:


有人能解释一下我错在哪里吗?谢谢。

删除ng重复
myData
是对象,不是数组,因此无需使用
ng repeat

  <body>
    <div ng-app="myApp" ng-controller="jsonObjectExample"> 
      <ul>
        <li >
          {{ myData.Name + ', ' + myData.City }}
        </li>
      </ul>
    </div>
  </body>

  • {{myData.Name+','+myData.City}

移除ng重复
myData
是对象,不是数组,因此无需使用
ng repeat

  <body>
    <div ng-app="myApp" ng-controller="jsonObjectExample"> 
      <ul>
        <li >
          {{ myData.Name + ', ' + myData.City }}
        </li>
      </ul>
    </div>
  </body>

  • {{myData.Name+','+myData.City}

如果使用ng repeat,请确保正在解析的json应该提供一些数组值

您可以更正json,如:

{ "user": [{
"Name":"Ben", 
"City":"New York"}]}

其他代码工作正常。请检查如果您使用的是ng repeat,请确保您正在解析的json应该提供一些数组值

您可以更正json,如:

{ "user": [{
"Name":"Ben", 
"City":"New York"}]}

其他代码工作正常。请检查

检查更新后的plunkr,这不是使其成为一个数组而不是一个对象吗?作为一个例子,我想访问一个对象。从jsonobject.json得到的响应是一个对象,而不是数组。因此,在HTML中必须以这种方式访问对象。如果响应是一个数组,那么您可以使用ng repeat进行迭代检查更新后的plunkr是否使其成为数组而不是对象?作为一个例子,我想访问一个对象。从jsonobject.json得到的响应是一个对象,而不是数组。因此,在HTML中必须以这种方式访问对象。如果响应是一个数组,那么您可以使用ng repeatiteration@user3305894没问题,请确保检查答案是否正确helped@user3305894没问题,如果这有帮助,请务必检查答案