如何将多级Json数据数组分配给单个Angular对象?

时间:2017-05-17 10:35:57

标签: angularjs arrays json controller angular-ngmodel

我有一个类似下面的json数据

{
  "data": {
    "points": 390,
    "medal": "gold",
    "activeGoals": [{
      "examType": full,
      "dateApplied": null,
      "status": "Active-GoodStanding",
      "term": 2,
      "amountPaid": 2500,
      "pointEarned": null,
      "examDetails": {
        "totalAmountPaid": 4500,
        "examDate": 1459449000000,
        "endDate": 1554057000000,
        "totalMarks": 100,
        "nextExamDate": 1493577000000,
        "interestRate": 0
      }
    }]
  }
}

在这个Json数据中,有一个活跃的目标'数组,其中有另一个数组' examDetails'

在Controller中,我尝试将这些数据分配到角度对象中,如下所示

  examCtrl.details ={};
  examCtrl.details =data;
  examCtrl.activeGoals=data.activeGoals;
  examCtrl.examDetails=data.activeGoals.examDetails;

我正在获得活跃的目标,但是对于examDetails,我得到了未定义的'错误。 我在这里做错了什么?

2 个答案:

答案 0 :(得分:2)

像这样分配:examCtrl.examDetails=data.activeGoals[0].examDetails;

因为activeGoals本身就是一个数组,你需要它的第一个索引([0]),即examDetails

此外:根据您的JSON examDetails,对象不是数组。

答案 1 :(得分:0)

如果您对数据的准确性感到困惑,您可以随时在JSON编辑器中进行转换。然后,您可以轻松地从JSON数据中分配对象。