2010-08-23 19 views
12

Vamos que tengo variable de JSON:cómo hacer referencia a campos JSON ASUME

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

Cuando quiero hacer referencia a un sólo escribo json.A

¿Cómo hacerlo cuando tengo clave en una variable, es decir:

var key = "A"; 

¿hay alguna función que devuelve el valor o nulo (si la clave no está en JSON)?

Respuesta

24

notación Uso del soporte, así:

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

En JavaScript estos dos son equivalentes:

object.Property 
object["Property"]; 

Y para ser claros, esto no es JSON específica, JSON es sólo una específica subconjunto de notación de objeto ... esto funciona en cualquier objeto de JavaScript. El resultado será undefined si no está en el objeto, you can try all of this here.

+0

1. Sin embargo, tenga en cuenta que las dos formas que mencionó son equivalentes _sólo si la Propiedad no es una palabra reservada _... de la cual hay muchas en JS, y algunas son inesperadas. Entonces, en ese sentido, el objeto ["Propiedad"] 'es más seguro. OTOH, 'object.Property' tiene la ventaja (cuando' Property' se conoce estáticamente) de que herramientas como JSLint pueden ejecutar verificaciones en ellos. – LarsH

Cuestiones relacionadas