How to handle JSON's undefined value in a better way?
You can define a hash of the possible field names and loop through them:

var fieldTitles = {
    description: "Description",
    Rating: "Average Rating",
    RatingCount: "Rating Count"
};

var volumeInfo = item.volumeInfo;
for (var key in fieldTitles) {
    if (volumeInfo[key]) {
        item_html += '&lt;li&gt;&lt;span&gt;' + fieldTitles[key] + ':' + volumeInfo[key] +'&lt;/span&gt;&lt;/li&gt;';
    }
}


Additional notes:


store item.volumeInfo to a local variable so you don't have to access it through item object all the time.
Most of the time it's better and simpler to check for existence of a value with if (someVar) rather than comparing directly with undefined.