【问题标题】:Approaching JSON data returns 'undefined'接近 JSON 数据返回“未定义”
【发布时间】:2019-04-12 21:35:16
【问题描述】:

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

来自 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": "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"
          }
        ]
      }
    ],

当我访问数据时['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


    【解决方案1】:

    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);

    【讨论】:

    • 非常感谢!我错过了一小部分哈哈
    【解决方案2】:

    在访问数据之前添加索引

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

    【讨论】:

      【解决方案3】:

      content_depart 是数组而不是对象

      所以选择content_depart[0].dept_name

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-02
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多