【问题标题】:Getting undefined values from my .json file/ First time js node user从我的 .json 文件/第一次 js 节点用户中获取未定义的值
【发布时间】:2019-11-22 03:53:12
【问题描述】:

我不是 JS 节点,并且在使用我的测试夹具(.json 文件)时遇到问题。这是我的 .json 文件:

{
"info": [
    {
        "type": "person",
        "gender": "Male",
        "altUrl": "http://www.testUrl.com",
        "contact": {
            "email": {
                "type": "Work",
                "address": "testEmail@email.com",
            },
            "phone": {
                "type": "Mobile",
                "number": "8989898989"
            }
        }
    }
]}

在我的 .js 文件中,我有: var account = require('../../myfile.json');

问题是,当我尝试访问 .json 文件中的数据时,它总是以未定义的形式返回。我调用 .json 文件的一个例子是:console.log(account.info.gender);

有没有人知道为什么我会得到未定义的值?任何帮助将不胜感激!谢谢

【问题讨论】:

标签: javascript node.js json unit-testing testing


【解决方案1】:

info 是一个数组,这就是为什么你必须像下面的例子那样访问

account.info[0].gender

【讨论】:

    【解决方案2】:

    info 是一个数组,而不是一个对象。 . 仅用于访问对象属性。要访问数组的第一个元素,您需要使用account.info[0].gender

    作为对象的信息:

    {
        "info": {
            "type": "person",
            "gender": "Male",
            "altUrl": "http://www.testUrl.com",
            "contact": {
                "email": {
                    "type": "Work",
                    "address": "testEmail@email.com",
                },
                "phone": {
                    "type": "Mobile",
                    "number": "8989898989"
                }
            }
        }
    }
    

    【讨论】:

    • 太棒了,谢谢!现在由于此时不需要数组,我将如何将其更改为对象?
    猜你喜欢
    • 1970-01-01
    • 2021-08-18
    • 2021-03-30
    • 1970-01-01
    • 2023-02-04
    • 2011-09-07
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    相关资源
    最近更新 更多