SPServices is good for retrieving list data from Sharepoint. You can set an async flag to false, although I've recently run into a situation where I could not get it to fire inline with the rest of my code. Most methods you see are basically wrappers for the xmlhttprequest object. If you have 2010 you can use it in conjuction with the listdata.svc webservice.
The call happens in a minimum of three steps:
var serviceRequest = new XMLHttpRequest();
serviceRequest.open("GET","http://site/_vti_bin/listdata.svc/listname", false);
serviceRequest.send();
var response = serviceRequest.responseText or serviceRequest.responseXml;
The open method can take other parameters, but the ones I've passed here are (HTTP METHOD, URI, ASYNC).
You can receive json if you want by using the setRequestHeader method between the open and send methods like this:
serviceRequest.setRequestHeader("Accept", "application/json")