Приближение к данным JSON возвращает «неопределенный» - PullRequest
0 голосов
/ 12 апреля 2019

Когда я обращаюсь к «dept_name», JSON возвращает «undefined». Как я могу вернуть правильный вывод?

JSON-объект (контент) из API

"departments": [
      {
        "dept_no": "d005",
        "dept_name": "Development",
        "from_date": "1994-07-03",
        "to_date": "9999-01-01",
        "dept_manager": [
          {
            "emp_no": 110511,
            "first_name": "DeForest",
            "last_name": "Hagimont",
            "email": "110511@cloud-spartan.com",
            "from_date": "1985-01-01",
            "to_date": "1992-04-25"
          },
          {
            "emp_no": 110567,
            "first_name": "Leon",
            "last_name": "DasSarma",
            "email": "110567@cloud-spartan.com",
            "from_date": "1992-04-25",
            "to_date": "9999-01-01"
          }
        ]
      }
    ],

когда я обращаюсь к данным ['департаменты']. Dept_no возвращает 'undefined'

      var content_depart = content['departments'];
      console.log(content_depart);
      var department = content_depart.dept_name;
      console.log(department);

console.log (content_depart)

[ { dept_no: 'd005',
    dept_name: 'Development',
    from_date: '1994-07-03',
    to_date: '9999-01-01',
    dept_manager: [ [Object], [Object] ] } ]

console.log (департамент)

undefined

Ответы [ 3 ]

0 голосов
/ 12 апреля 2019

data['departments'] - массив .

let data =
{ //               v--------- array !
    "departments": [
    { // ...

Вы не можете получить доступ к его членам напрямую, но сначала нужно указать индекс. Например:

let data = {"departments":[{"dept_no":"d005","dept_name":"Development","from_date":"1994-07-03","to_date":"9999-01-01","dept_manager":[{"emp_no":110511,"first_name":"DeForest","last_name":"Hagimont","email":"110511@cloud-spartan.com","from_date":"1985-01-01","to_date":"1992-04-25"},{"emp_no":110567,"first_name":"Leon","last_name":"DasSarma","email":"110567@cloud-spartan.com","from_date":"1992-04-25","to_date":"9999-01-01"}]}]};
    
console.log(data.departments[0].dept_no);
0 голосов
/ 12 апреля 2019

content_depart массив не объект

так что идите с content_depart[0].dept_name

0 голосов
/ 12 апреля 2019

Добавить индекс перед доступом к данным

      var department = content_depart[0].dept_name;
      console.log(department);
...