使用字符串查找时未定义JSON

时间:2015-09-25 12:01:13

标签: json

我不太确定我的问题在这里。

这是我的json:

user = {
    userdata: {
        name: "Test"
    }
}

虽然user.userdata.name返回Test, user [" userdata.name"]返回undefined。

用户[" userdata"]也正在返回userdata json。用户[" userdata"] [" name"]也将返回测试。

我在另一个json上使用相同的方法,但没有深入搜索。只是为了userdata。工作得很好......

2 个答案:

答案 0 :(得分:4)

  

当user.userdata.name返回Test时,用户[" userdata.name"]返回undefined。

正确。引号中的位在其 complete 中用作要查找的属性名称。它没有被解析。由于您的user对象没有名为userdata.name的属性(它有userdata,而name又有undefined),因此您获得的值为{{1} }}

如果您想使用括号表示法访问该名称,那么它将是user["userdata"]["name"](其中字符串可以是文字字符串,如图所示),也可以是任何表达式的结果,如变量查找,字符串连接等。 )。

答案 1 :(得分:2)

可以像这样访问。

user["userdata"]["name"]