接近JSON数据会返回'undefined'

问题描述 投票:0回答:3

当我访问“dept_name”时,JSON返回'undefined'。如何返回正确的输出?

来自API的JSON对象(内容)

"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": "[email protected]",
            "from_date": "1985-01-01",
            "to_date": "1992-04-25"
          },
          {
            "emp_no": 110567,
            "first_name": "Leon",
            "last_name": "DasSarma",
            "email": "[email protected]",
            "from_date": "1992-04-25",
            "to_date": "9999-01-01"
          }
        ]
      }
    ],

当我访问数据['departments']时.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
node.js json express axios
3个回答
0
投票

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":"[email protected]","from_date":"1985-01-01","to_date":"1992-04-25"},{"emp_no":110567,"first_name":"Leon","last_name":"DasSarma","email":"[email protected]","from_date":"1992-04-25","to_date":"9999-01-01"}]}]};
    
console.log(data.departments[0].dept_no);

0
投票

在访问数据之前添加索引

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

0
投票

content_depart不是一个对象

所以和content_depart[0].dept_name一起去

© www.soinside.com 2019 - 2024. All rights reserved.