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を意味すると仮定します

これは雇用者IDを取得する必要があります

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

これを行うこともできます(好みに応じて)

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

この場合、作業位置はj(配列インデクサーとして使用)です。jを0に置き換えて最初の値を取得し、1に置き換えて2番目の値を取得します。

于 2012-05-24T12:39:53.020 に答える
0

やってみましたresponse.data[i].work.position.idか?

考え直してみると、作業はオブジェクトの配列であるため、次のようにアクセスされます。

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

于 2012-05-24T12:38:26.843 に答える
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); 
}

配列内のエントリは0から数値でアクセスされます。エントリ自体はオブジェクトであり、またはworkを使用してそれらのプロパティにアクセスできます。obj_name.property_nameobj_name["property_name"]

于 2012-05-24T12:46:33.330 に答える