在JavaScript中,我有一个JSON对象。这个JSON对象有很多键,我需要使用点运算符访问以String形式存储的键,但我不知道如何执行此操作。
例如,如果我有以下JSON代码:
"values" : [ { "prop0" : "h",
"prop1" : "pizza",
"prop2" : "2014-06-24T15:58:50Z",
"prop3" : ""
},
{ "prop0" : "paa",
"prop1" : "cat",
"prop2" : "2014-06-24T15:58:16Z",
"prop3" : "mouse"
}
]
我想访问prop1我将使用以下JavaScript代码:
values[0].prop1;
只要我知道该属性名为prop1,这就有效。但我不知道我的财产会被称为什么。我有一个String,表示在这种情况下是prop1或当前属性是什么,但是我不知道如何使用带有String的点运算符。
我想要像:
values[0].myString;
但这不起作用。
有没有办法做我想要实现的目标?
答案 0 :(得分:1)
您可以将javascript对象作为关联数组或字典处理,方法是将其传递给查找:
values[0][myString]
在以下代码中,
var myString = 'prop1';
var val1 = values[0][myString];
var val2 = values[0].prop1;
val1
和val2
的值均为'pizza'
答案 1 :(得分:0)
使用括号表示法。
values[0].myString
等效到values[0]['myString']
:)
例如,
var obj = { a : 1 };
obj.a // returns 1
var a_string = 'a';
obj[a_string] // returns 1
通常,点符号看起来更干净,但括号表示法很方便用于此目的。
答案 2 :(得分:0)
在Javascript中,您可以使用点表示法(您使用的方式)和平面括号表示法(即。[])访问属性,因此您应该可以像这样访问它:
值[0] [myString的]