Доступ к массиву JSON с помощью Javascript? - PullRequest
0 голосов
/ 28 июня 2018

Я получаю массив JSON через запрос Ajax. Это выглядит так:

{  
   "data":{  
      "title":"Frau",
      "academic_title":null,
      "first_name":"Lynda",
      "last_name":"McCrow",
      "company":"Tekfly",
      "street":"Sage",
      "zip":"4860-077",
      "country":"Portugal",
      "city":"Quinta",
      "phone":"6727086107",
      "fax":"4941912651",
      "mobile":"3722716317",
      "email":"lmccrow7@newyorker.com",
      "web":"shop-pro.jp",
      "mailbox":"81-0982335",
      "mailbox_country":"Indonesia",
      "mailbox_zip":null,
      "mailbox_city":"Susoh",
      "birthday":"1977-02-11"
   }
}

Но я понятия не имею, как получить доступ к массиву JSON. Я уже попробовал все это:

success: function(data) {
 console.log(data[0].data.title);
 console.log(data[0].title);
 console.log(data.data[0].title);
 console.log(data.title);
}

Можете ли вы дать мне подсказку?

С уважением

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

data не является ни массивом, ни JSON, это литерал объекта. Ваша последняя попытка близка, но вам нужно получить доступ

data.data.title

или вы можете уничтожить data в параметре успеха

success: function({data}) {
    // now you could access data.title directly
    console.log(data.title);
}
0 голосов
/ 28 июня 2018

Вы пробовали все, кроме:

data.data.title

Это объект, и вам нужно использовать Object.key() или что-то еще для итерации. Технически это так:

// Inside your function, this is what gets passed.
data = {  
   "data":{  
      "title":"Frau",
      "academic_title":null,
      "first_name":"Lynda",
      "last_name":"McCrow",
      "company":"Tekfly",
      "street":"Sage",
      "zip":"4860-077",
      "country":"Portugal",
      "city":"Quinta",
      "phone":"6727086107",
      "fax":"4941912651",
      "mobile":"3722716317",
      "email":"lmccrow7@newyorker.com",
      "web":"shop-pro.jp",
      "mailbox":"81-0982335",
      "mailbox_country":"Indonesia",
      "mailbox_zip":null,
      "mailbox_city":"Susoh",
      "birthday":"1977-02-11"
   }
};

for (var key in data.data) {
  console.log(`${key}: ${data.data[key]}`);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...