0

我知道下一个问题一定看起来很愚蠢,但无论如何我都会这样做:)

我有这个结构:

{
      "name": "Erjet Malaj",
      "first_name": "Erjet",
      "work": [
        {
          "employer": {
            "id": "110108059015688",
            "name": "Art of Living Foundation"
          },
          "position": {
            "id": "137081429661437",
            "name": "Volunteer"
          },
          "start_date": "0000-00",
          "end_date": "0000-00"
        },
        {

我像这样检索 response.data[i].first_name,我应该如何检索工作 ID?

4

4 回答 4

2

work是一个数组。你需要遍历它

var work = response.data[i].work,
    worklen = work.length,
    j, workdetails;

for(j = 0; j < worklen; j++){

    //simplify for readability
    workdetails = work[j];

    //where prop is "employer" or "position"
    workdetails[prop].id 
    workdetails[prop].name
}
于 2012-05-24T12:39:20.900 回答
0

数组id中每条记录的雇主和职位都有一个work。如果您想遍历一个人的工作条目并收集这些 ID,请使用:

var person = response.data[i];
var work = person.work;

for(var j = 0; j < work.length; ++j) {
    var work_entry = work[j];
    console.log(work_entry.employer.id);
    console.log(work_entry.position.id); 
}

数组中的work条目从 0 开始以数字方式访问。条目本身就是对象,您可以使用obj_name.property_name或访问它们的属性obj_name["property_name"]

于 2012-05-24T12:46:33.330 回答
0

你试过了response.data[i].work.position.id吗?

再想一想,工作是一个对象数组,所以它的访问方式如下:

response.data[i].work[0].position.id

于 2012-05-24T12:38:26.843 回答
0

假设您的意思是给定工作的雇主 ID

这应该得到雇主ID

response.data[i].work[j].employer.id

你也可以这样做(取决于偏好)

response.data[i].work[j]['employer'].id

在这种情况下,工作位置是 j(用作数组索引器),将 j 替换为 0 以获取第一个,用 1 获取第二个等。

于 2012-05-24T12:39:53.020 回答