Comment accéder à un tableau dans un objet JSON?
Bonjour, j'ai le suivant objet JSON:
[
{
"comments":[
{
"created_at":"2011-02-09T14:42:42-08:00",
"thumb":"xxxxxxx",
"level":1,"id":214,
"user_id":41,
"parent_id":213,
"content":"<p>xxxxxx</p>",
"full_name":"xx K"
},
{
"created_at":"2011-02-09T14:41:23-08:00",
"thumb":"xxxxxxxxxxxxx",
"level":0,
"id":213,
"user_id":19,
"parent_id":null,
"content":"<p>this is another test</p>",
"full_name":"asd asd asd asd asd"
}
],
"eee1":"asdadsdas",
"eee2":"bbbbb"
}
]
Ce qui est à venir à partir d'un $.ajax
la demande, dans les succès que j'ai....
success: function (dataJS) {
console.log(dataJS);
console.log(dataJS[eee1]);
console.log(dataJS.comments);
}
Problème est que je ne peut pas accéder aux éléments de l'objet JSON, même si dataJS n'afficher correctement dans la console. Des idées?
Grâce
console.log(dataJS.commentaires[0]); ?
Avez-vous vérifié que le Type de Contenu des en-têtes de réponse sont vraiment application/json?
Avez-vous vérifié que le Type de Contenu des en-têtes de réponse sont vraiment application/json?
OriginalL'auteur AnApprentice | 2011-03-02
Vous devez vous connecter pour publier un commentaire.
C'est que l'objet de base est un tableau.
Je soupçonne que serait le travail
OriginalL'auteur Darko Z
le JSON que vous avez est en fait une matrice elle-même, donc...
sera
2011-02-09T14:42:42-08:00
, etc...Les deux
dataJS
etcomments
sont des tableaux, et ont besoin d'indices pour accéder aux éléments appropriés.Non, il n'est pas construit à partir de spec donc pas qu'il n'est pas "incorrect", mais ce sont la syntaxe vous souhaitant utiliser pour y accéder?
ok c'est tout ce que je besoin de savoir. Merci!!!! Je vais accepter une fois stackoverflow me permet de...
Pas un problème..
OriginalL'auteur jondavidjohn
L'objet retourné est lui-même un tableau, donc pour obtenir le premier commentaire (par exemple), voici comment vous pouvez accéder:
dataJS[0].comments[0]
OriginalL'auteur Brian Driscoll
OriginalL'auteur Detect
Faire quelque chose comme ceci:-
OriginalL'auteur limc
Oui, comme d'autres l'ont dit, le JSON est en fait une Matrice (un seul Objet). De sorte que vous aurez besoin de faire référence à un indice.
Assez intéressant (pour moi), votre chaîne de résultat n'est validé que JSON. J'ai supposé jusqu'à présent, que, pour être valide, JSON, il devait être un Objet (c'est à dire, {}).
OriginalL'auteur Ryan Miller
Vous devez préciser le type de données dans la requête ajax comme "JSON". L'utilisateur de procéder, vous avez fait comme ci-dessous.
OriginalL'auteur yasankarj
JSON doit être interprétée avec
eval
fonction (après l'évidence de désinfection, voir les considérations de sécurité d'eval). Êtes-vous sûr de votre cadre fait pour vous?tacite par
$.ajax
et le jquery tageval
est le mal.J'ai deviné $.ajax peut être n'importe quel cadre, à l'instar de dollars sont utilisés par la plupart d'entre eux $.ajax est une jolie combinaison de base, de sorte qu'il n'était pas clair.
Le json2 bibliothèque utilise
eval
. github.com/douglascrockford/JSON-js/blob/master/json2.js#L466OriginalL'auteur vbence