2009-08-06 9 views
0

Il n'y a pas un seul exemple clair expliquant comment extraire des données json aussi simplement que possible. J'ai un JSON valide et je dois le récupérer avec jQueryObtenir des données JSON dans jQuery

my JSON est aussi:

{ 
    "title": "blog entries", 
    "items" : [ 
     { 
      "title": "Can Members of the Diaspora Work Effectively at th", 
      "date": "8/4/2009 9:42:38 AM" 
     }, 
     { 
      "title": "Ashoka Brazil", 
      "date": "7/15/2009 8:56:12 AM" 
     }, 
     { 
      "title": "Life Spring Hospital", 
      "date": "7/15/2009 8:56:12 AM" 
     }, 
     { 
      "title": "Pozitron/Endeavor", 
      "date": "5/26/2009 8:58:39 PM" 
     } 
    ] 
} 

J'ai essayé de le récupérer avec les éléments suivants, mais pas de chance.

$.getJSON({ 
     type: "GET", 
     data: { PROCESS: "ViewBlog" }, 
     url: "http://www.pangeaadvisors.org/sep123/blog.cs.asp", 
     dataType: "json", 
     success: function(json) { 
      $(json).find('item').each(function(){ 
       var title = $(this).find('title').text(); 
       $('<div class="news_title"></div>').html(title).appendTo('#news_wrap'); 
      }); 
     } 
    }); 
+0

voir ma mise à jour. – redsquare

Répondre

0

MISE À JOUR

Son échec en raison de votre URL ayant 2 points dans l'url

En supposant que la demande fonctionne (vérifiez Firebug pour voir si la demande est comme un script tag & la réponse revient) vous aurez besoin de faire

$.each(json.items, function(){ 

    ... 

}); 

ou vous pouvez utiliser js normale

for (var i=0; i<json.items.length; i++) { 

    ... 

} 
+0

toujours rien. voyez-le vous-même: http://www0.gsb.columbia.edu/students/organizations/sec/conference2009/blog.htm –

+0

Pouvez-vous utiliser la version complète de jquery pour pouvoir déboguer. La version min le rend difficile! – redsquare

+0

aussi vous n'avez pas besoin de passer le type et le type de données pour la fonction getJson – redsquare

0

Essayez celui

$.getJSON("http://www.pangeaadvisors.org/sep123/blog.cs.asp",{ PROCESS: "ViewBlog" }, function(json) { 
        for (var i = 0; i < json.length; i++) { 
         var title = json[i].Title; 
         $('<div class="news_title"></div>').html(title).appendTo('#news_wrap'); 
        } 
      }); 

que redsquare répondu vous avez besoin pour ou .each $ :)

0

Vous devrez regarder comment faire les appels interdomaines avec ajax. Faire la demande comme ceci sera refusé par le navigateur.

0

Essayez cette

var items = test.items; 
$.each(items,function(index,items){ 
    console.log(items.title); /// and items.date 
})