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

How to assign multi level Json data array to single Angular object?

我有一个 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 数据中有 'activeGoal' 数组,里面还有另一个数组 'examDetails'

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

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

我得到了 activeGoals,但是对于 examDetails,我得到了 'undefined' 错误。 我在这里做错了什么??

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

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

进一步:根据您的 JSON examDetails 是对象而不是数组。

如果您不清楚数据到底是什么,您可以随时在 JSON 中转换 editor.then 您可以轻松地从 JSON 数据分配对象。