!747 m { // in static S query = "Java class declarations"; // intermediate static S url, json; // out static O data; static new List results; static class GoogleResult { S url, cacheurl, title; } p { url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=" + urlencode(query); json = loadPage(url); //print(json); //print(); data = jsonDecode(json); //print(structure(data)); O responseData = ((Map) data).get("responseData"); //print(structure(responseData)); List _results = cast ((Map) responseData).get("results"); //print(structure(_results)); for (int i = 0; i < _results.size(); i++) { Map row = _results.get(i); //print(structure(row)); new GoogleResult r; r.url = (S) row.get("unescapedUrl"); r.cacheurl = (S) row.get("cacheUrl"); r.title = (S) row.get("titleNoFormatting"); print(structure(r)); results.add(r); } } }