2010-10-05 16 views
6

La condition est la suivante:
Je dois obtenir le champ de localisation de la page. Obtenez la zone de voisinage du fichier json en fonction de l'entrée et affichez sur la page.obtenir des données à partir de la valeur clé dynamique dans json

J'ai un objet JSON et doivent filtrer les données de l'objet JSON en fonction de la valeur de clé (emplacement)

var inputLocation=input.value; 

Dans mon javascript je reçois l'erreur si j'utilise dynamique la clé.

Je suis en mesure d'obtenir le tableau JSON si je le fais data.Aspen mais je dois obtenir les données d'un champ de texte et il peut être différent si j'appelle data.inputLocation ... son entrée non définie

quand j'utiliser data.(inputLocation.value) obtenir l'erreur suivante:

filtre XML est appliqué à la valeur non-XML ({Aspen: [{ID:

{ 
"Aspen":[ 
{ 
    "ID":"Bellaire", 
    "Name":"Bellaire" 
}, 
{ 
    "ID":"Champions Forest", 
    "Name":"Champions Forest" 
}, 
{ 
    "ID":"Highland Village", 
    "Name":"Highland Village" 
}, 
{ 
    "ID":"Museum District", 
    "Name":"Museum District" 
} 
] 
} 
+0

Je ne comprends pas ce que votre Le problème est. Vous pouvez essayer de vous expliquer d'une manière plus simple ... donnez quelques exemples. –

+1

Java n'est pas Javascript;) –

+0

@ Luca Matteis Douglas a répondu à la question..En fait, j'étais inconnu à la syntaxe pour obtenir la valeur de key.instead de données. (InputLocation.value), j'ai utilisé data [inputLocation] et le problème résolu. – AutoMEta

Répondre

34

Vous pouvez accéder à la propriété en utilisant la syntaxe semblable à un tableau:

data[inputLocation] 

Si inputLocation est réglé sur "Aspen", ce qu'il est le même que ces deux lignes:

data["Aspen"] 
data.Aspen 
+0

merci ... eu les données .. exactement je cherchais cela. – AutoMEta

+0

Sauvé ma journée. Merci :) –

+0

Et si nous avions des lieux dynamiques? Montrons qu'il pourrait s'agir de données [Nom] [Age], où le nom et l'âge peuvent être dynamiques. Que faisons-nous dans ce cas? –