当前位置: 代码迷 >> JavaScript >> 从JSON节点JS读取键值
  详细解决方案

从JSON节点JS读取键值

热度:25   发布时间:2023-06-08 09:21:16.0

我与下一个json类似:

{
    'igor': {'password': '12345678', 'color': 'white'),
    'ruslan': {'password': '87654321', 'color': 'black')
}

而且也有变数

var name = 'igor';

如何使用此变量检测名称来获取密码值? 我接下来尝试了:

obj[name['password']]

但是它返回的是undefined。 还尝试了:

obj.name['password']

同样,它返回未定义的。 我应该如何获得该价值? 谢谢。

正如Nano所评论的那样,要使用键“ igor”访问对象的“ password”,您需要使用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 namename之间的空格用作语法分隔符时,不在字符串/正则表达式中。

您的JSON示例无效!

无论如何,您可以使用以下语法: obj[name].property