我和下一个json类似:
{
'igor': {'password': '12345678', 'color': 'white'),
'ruslan': {'password': '87654321', 'color': 'black')
}
还有变量
var name = 'igor';
如何获取密码值,使用此变量来检测名称?我接下来试过了:
obj[name['password']]
但它返回undefined;也尝试过:
obj.name['password']
它也返回undefined。我应该如何获得这个价值?感谢。
答案 0 :(得分:1)
As Nano评论说,要访问密码"对于具有键的对象" igor"你需要使用obj[name]['password']
。这是因为你有两个对象,其中包含" igor"作为关键,一个作为" ruslan"作为关键。你也可以使用
var igor = obj['igor'];
var igorsPassword = igor['password'];
此外,unixarmy的形式没有错,以下是正确的。
var igor = obj.igor;
var igorsPassword = igor.password;
尽管如此,如果属性名称中包含空格,则必须使用obj['property name']
表单进行访问,因为obj.property name
和property
之间的空格不能使用name
。 {1}}在不在字符串/正则表达式中时用作语法分隔符。
答案 1 :(得分:0)
您的JSON示例无效!
无论如何,您可以使用以下语法:obj[name].property
。