The JSON version doesn't work because it's a cross-origin call (see: Same Origin Policy: http://en.wikipedia.org/wiki/Same_origin_policy
]). Does the Google URL shortener have a JSON-P API? It has to explicitly support it. (Also, JSON-P can't be POST; by its nature it's a GET.)
Update: Looks like they don't support it yet, but there's an open enhancement request.