1) Since you are calling cross domain, you cant get JSON data directly. You can do it through a proxy on your domain, or with a callback.
2) You are calling the JSON interface with a callback, so you will get back JSONP:
// API callback
listInfo({"version":"1.0","encoding":"UTF-8","entry":{"xmlns$app":"
http://www.w3.org/2007/app","xmlns":"
http://www.w3.org/2005/Atom","xmlns$media":"
http://search.yahoo.com/mrss/", ...
py_ajax.js is a thin layer above xmlhttprequest. It doesn't have the logic to parse the URL and see a &callback=? and recognize that the data coming back is really javascript (the function name being the callback name you pass). We then would need to add code to create a <script src=""> using the url instead of using xmlhttprequest and get the callback (previously defined) executed with the data as arg. Not exactly trivial, but as far as I know it is the only way to do this all client side. You also have to trust the service you are calling, obviously.
Finally, if you are running without a web server, then only local files can be fetched with ajax.