2009-01-19 6 views
2

Voici mes données JSON:Comment lire les données Json à plusieurs niveaux en utilisant jQuery?

[{"ok" : false, 
    "details" : [{"n" : "Email", 
       "v" : "The email address you entered is not correct."}, 
       {"n" : "NameFull", 
       "v" : "Please enter your full name."}] 
}] 

Je lis Sigle-trouvai niveau des données JSON est super-facile, mais pour les données à plusieurs niveaux, comme ci-dessus, je ne pouvais pas trouver une réponse par une recherche sur Internet. Je veux juste lire les valeurs ci-dessus. Comme lire la valeur de "n" et "v" sous les "détails".

+0

Pouvez-vous changer cela en code source, s'il vous plaît? – MDCore

+0

Les données Json sont déjà en mode code source, mais peut-être que StackOverflow ne peut pas mettre en évidence le texte Json. –

+0

silnet200: Oui, il peut :) –

Répondre

6

Les données sont dans un tableau

Notez les crochets autour de vos données. Vous devrez indexer dans le tableau dans l'ensemble de données ci-dessus.

Cela devrait vous permettre d'accéder à la valeur e-mail:

var json = '[{"ok":false,"details":[{"n":"Email","v":"The email address you entered is not correct."},{"n":"NameFull","v":"Please enter your full name."}]}]'; 

var k = eval(json); 

alert(k[0].details[0].v); 

Et voici le texte d'alerte qui apparaît:

The email address you entered is not correct. 

Peut-être votre source de JSON il mis à l'intérieur d'un tableau parce qu'ils veulent revenir plusieurs éléments?

Et en fait, vous n'avez pas besoin de jQuery pour cela. JSON signifie JavaScript Object Notation. Cela signifie essentiellement que c'est un bloc de code Javascript qui peut être évalué tel quel directement en JavaScript pour obtenir les données sérialisées, ce qui dans notre cas est un tableau.

+0

Merci! Ça marche! Je suis un super débutant, voulez-vous dire que je Json données que je fournis n'est pas un Json standard? Encore merci !!! –

+0

C'est un JSON standard, c'est juste à l'intérieur d'un tableau. – chakrit

1

Désolé, peut-être je ne comprend pas votre question. Cela ne fonctionne pas pour vous?

var data = eval('(' + strJson + ')');

+0

Désolé d'avoir été mal compris, je veux lire certaines clés et valeurs spécifiques de ce texte Json ci-dessus en utilisant jQuery. –

+0

silent200: ce dont vous avez besoin c'est jQuery.getJSON(), il récupérera un json de quelque part et fera l'eval pour vous. Vous n'avez pas besoin de jquery pour gérer json, le support est "intégré" en javascript. –

+0

Merci DrJokepu! ; o) –

Questions connexes