我在JavaScript中有一个JSON对象,想要从String变量访问一个键

时间:2014-06-27 23:46:04

标签: javascript html json string

在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;

但这不起作用。

有没有办法做我想要实现的目标?

3 个答案:

答案 0 :(得分:1)

您可以将javascript对象作为关联数组或字典处理,方法是将其传递给查找:

values[0][myString]

在以下代码中,

var myString = 'prop1';
var val1 = values[0][myString];
var val2 = values[0].prop1;

val1val2的值均为'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的]