【问题标题】:Trouble Parsing JSON object in Angular在 Angular 中解析 JSON 对象时遇到问题
【发布时间】:2018-03-10 16:02:43
【问题描述】:

我在解析 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);

【问题讨论】:

    标签: html angularjs json


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      QTime 属性后有多余的逗号。删除它并重试。使用 JSON Lint 验证您的 json。

      【讨论】:

        猜你喜欢
        • 2015-09-04
        • 1970-01-01
        • 2016-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-08
        • 1970-01-01
        相关资源
        最近更新 更多