Most APIs that I've dealt with so far respond with JSON objects, but it wasn't until the last two or three weeks that I got more comfortable understanding how get to what I wanted within a response. Part of it was learning how to use console.debug() and thus being able to actually see the object and how it was structured, but most of my improvement can be chalked up to learning some basic Javascript - looping, if/then statements, creating objects for later use, etc.
A basic example from this past week. I created a marker ID object that kept track of each google maps marker on my map as well as a string of html content I wanted to appear in a map popup/infowindow when the user clicked on a marker. I organized the object by marker ID so that I could easily find that marker at a later point. I couldn't have done this a couple of weeks ago, and when it came together it was a nice reminder of how much I've learned and a big aha moment that seemed to open up a sense of possibility...
markerIDObject[marker.__gm_id] = {};
markerIDObject[marker.__gm_id].marker = marker;
markerIDObject[marker.__gm_id].content = contentString;
this.neighborhoodShowInfoWindowBounce = function(marker_id) {
showInfoWindow(markerIDObject[marker_id].marker, markerIDObject[marker_id].content);
markerBounce(markerIDObject[marker_id].marker);
}