jQuery - analyse des données JSON - Des problèmes de nom de variable
-
22-07-2019 - |
Question
Mon premier contact avec les données JSON. J'ai un peu d'expérience avec jQuery cependant.
Je poste à cette adresse (tumblr api): jyoseph.com/api/read/json
Ce que j'essaie de faire, c'est de sortir le JSON qui est renvoyé. Ce que j'ai jusqu'à présent:
$(document).ready(function(){
$.getJSON("http://jyoseph.com/api/read/json?callback=?",
function(data) {
//console.log(data);
console.log(data.posts);
$.each(data.posts, function(i,posts){
var id = this.id;
var type = this.type;
var date = this.date;
var url = this.url;
var photo500 = this.photo-url-500;
$('ul').append('<li> ' +id+ ' - ' +type+ ' - ' +date+ ' - ' +url+ ' - ' +photo500+ ' - ' + ' </li>');
});
});
});
Voir mon article sur jsbin pour l'intégralité du script: http://jsbin.com/utaju/edit
Certaines des clés de tumblr ont " - " des traits d'union en eux, et cela semble causer un problème. Comme vous pouvez le voir, "photo-url-500". ou un autre " photo-légende " est la cause de la rupture du script, il sort NaN.
Y a-t-il un problème à avoir des traits d'union dans les noms de clé? Ou est-ce que je vais à ce sujet tout faux?
La solution
S'il y a des tirets dans les noms, vous devrez y accéder différemment. Modifiez var photo500 = this.photo-url-500;
pour lire var photo500 = this ["quot-photo-url-500" / <; code>.
Autres conseils
Veuillez noter qu'il est préférable de ne pas ajouter à l'intérieur de chaque itération. Il est préférable d’ajouter à une chaîne ou de pousser vers un tableau, puis d’ajouter une fois l’itérateur terminé. Ajouter au domaine coûte cher.
Utilisez la notation entre crochets pour accéder aux membres:
var photo500 = this['photo-url-500'];