2009-06-09 9 views
0

Fist off, voici l'objet JSON j'ai créé avec phps fonction json_encodeComment aborder JSON avec javascript

{ 
    "Gatwick":[ 
     { 
      "destination":"VCE", 
      "destination_name":"Venezia Marco Polo" 
     },{ 
      "destination":"VCE", 
      "destination_name":"Venezia Marco Polo" 
     },{ 
      "destination":"VCE", 
      "destination_name":"Venezia Marco Polo" 
     } 
    ], 
    "Heathrow":[ 
     { 
      "destination":"VCE", 
      "destination_name":"Venezia Marco Polo" 
     },{ 
      "destination":"VCE", 
      "destination_name":"Venezia Marco Polo" 
     } 
    ] 
} 

qui je pense est ok si je comprends bien. J'ai demandé l'objet en utilisant la fonction jQuerys $ .getJSON (...). En supposant que tout cela est correct, je ne peux pas pour la vie de moi comprendre comment accéder aux données dans l'objet JSON ou même illicitement toute sorte de réponse pour indiquer que quelque chose se passe sous le capot.

Ma dernière tentative était de copier l'exemple de la documentation jQuery comme celui-ci ...

$.getJSON(url, callBack); 

function callBack(data){ 
    $.each(data.items, function(i, item){ 
     alert("YO"); 
    }); 
} 

qui génère l'erreur javascript suivant

jquery-1.2.6.min.js (ligne 19 TypeError: Le résultat de l'expression 'objet' [indéfini] n'est pas un objet.

Ce qui est un peu énigmatique. D'autant plus que l'utilisation de cette

function callBack(data){ alert(data); } 

dit [object Object]

mais cette

function callBack(data){ alert(data[0]); } 

ne me donne rien.

Où est-ce que je me trompe ici?

Répondre

3

Les « .items » dans l'exemple jQuery est une chose .NET - vous avez data.Gatwick[0].destination == 'VCE'

1

vous n'avez pas 'articles' dans votre objet de données ... il suffit d'utiliser

$.each(data, function(i, item){ 

à quel point vous pouvez faire:

item[0].destination 
0

Le JSON que le PHP est de retour est pas un tableau. Remarquez les accolades, pas les accolades carrées.

+0

qui est vrai .. mais je suis assez sûr de jquery .each $ continuera de fonctionner, la variable 'I' volonté il suffit de contenir la touche dict (ou tout ce que javascript l'appelle, je suis un gars python) – Jiaaro

Questions connexes