Comment vérifier si une valeur de la propriété existent dans les données JSON
Je suis en utilisant Google Livres API pour recevoir une liste de livres, mais parfois certains livres n'ont pas de certaines touches/propriétés, par exemple, Auteurs, ou ne pas avoir un Vignette. Donc JavaScript dit que les biens im essayant d'accès n'est pas défini et ma demande stucks.
Exemple Les données Json exemple à partir d'un livre de recherche contenant le clétage Java
Lien complet
https://www.googleapis.com/books/v1/volumes?q=java&callback=jQuery191020691258599981666_1377508821982&_=1377508821983
E. g., lorsque Auteurs est manquant
TypeError: row.volumeInfo.authors is undefined
Je tryied deux solutions proposées
if ( typeof (authors) != "undefined"){}
et
if('authors' in booksObject) {}
mais non d'entre eux semble fonctionner, car ils n'entrent jamais dans la boucle, même lorsque cette propriété existe.
C'est là que j'appelle
function populateListview(books) {
//iterate each returned item
$.each(books.items, function(i, row) {
//populate each row in the list
var htmlString = '<li><a href="book_details.html?id=' + row.id + '"><img src="';
htmlString += row.volumeInfo.imageLinks.thumbnail + '"';
htmlString += 'class="ui-li-has-thumb"/><h3>';
//Check if authors exists in JSON
htmlString += row.volumeInfo.title + '</h3><p>' + row.volumeInfo.authors[0] + '</p></a></li>';
//If not add an undefined authors string in the authors
console.log(htmlString);
//append new html to the list
$('#book_list').append(htmlString);
});
$('#book_list').listview('refresh');
//refresh the list-view so new elements are added to the DOM
};
OriginalL'auteur Lali Pali | 2013-08-26
Vous devez vous connecter pour publier un commentaire.
Vous pouvez vérifier
$.isArray(row.volumeInfo.authors) && row.volumeInfo.authors.length > 0
il ne transforme pas toutes les données... le seul changement est dans la
if
conditionEst-il possible de faire cela avec plusieurs lignes je.e Auteur, titre, sous-Titre, Description, etc.. Si 'undefined'
OriginalL'auteur Arun P Johny
Essayez ceci :
OriginalL'auteur Sushrut
Ici est vraiment un moyen simple pour vérifier si une clé ou une valeur existe dans votre JSON.
C'est rapide, simple, facile.
OriginalL'auteur e.w. parris