麻烦在Angular中解析JSON对象

时间:2018-03-10 16:02:44

标签: html angularjs json

我在解析JSON对象时遇到了麻烦,不确定我错在哪里?

这是HTML:

 <div ng-controller="MyCtrl">
      <div ng-repeat="user in _users" ng-init="myInfo=parJson(user.response)">{{myInfo.docs[0].FIRST_NAME}}</div>
    </div>

这是Angular:

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

function MyCtrl($scope) {
  $scope.getName = function(user) {
    return "Names";
  };

  $scope._users = [{
    "responseHeader": {
      "status":0,
        "QTime":1,
    },"response":{
    "docs":[{
            "FIRST_NAME":"John",
            "LAST_NAME" : "Smith"}]             
    }
  }];
  $scope.parJson = function(json) {
      return JSON.parse(json);
    }
}
myApp.controller("MyCtrl",MyCtrl);

2 个答案:

答案 0 :(得分:0)

从代码我可以看到“user.response”已经是一个JSON对象,你不需要再次解析它。如果你不确定你的响应是JSON对象还是JSON字符串,你可以做一件事你可以在你的“parJson”函数中添加一个检查

$scope.parJson = function(json) {
 if(typeof json != "object")
  return JSON.parse(json);
 else
  return json;
}

答案 1 :(得分:0)

QTime属性后有额外的逗号。删除它,然后再试一次。使用JSON Lint验证您的json。

相关问题