2010-08-23 64 views
12

让我们asume,我有JSON变量:如何引用JSON领域

var json ={"A":"a","B":"b","x":"y","a":"b"} 

当我想指的是我只写json.A

怎么做时,我有钥匙一个变量,即:

var key = "A"; 

是否有任何函数返回值或null(如果键不在json中)?

回答

24

使用括号标记,像这样:

var key = "A"; 
var value = json[key]; 

在JavaScript中这两者是等价的:

object.Property 
object["Property"]; 

而仅仅是明确的,这是不特定的JSON,JSON只是一个特定的对象表示法的子集......这适用于任何JavaScript对象。如果不在对象you can try all of this here中,结果将为undefined

+0

+1。但请注意,你提到的两种形式是等效的 - 如果该属性不是一个保留字_...,其中有许多JS,并且有很多是意外的。所以在这个意义上'object [“Property”]'更安全。 OTOH,'object.Property'具有优势(当'Property'静态地知道时),像JSLint这样的工具可以对它们执行检查。 – LarsH 2010-08-23 16:17:51