I have the following code:
var json = new WebClient().DownloadString(string.Format(@"http://www.google.com/dictionary/json?callback=dict_api.callbacks.id100&q={0}&sl=en&tl=en", "bar"));
This returns something like this:
dict_api.callbacks.id100({“query”:”bar”,”sourceLanguage”:”en”,”targetLanguage”:”en”,”primaries”:[{“type”:”headword”,”terms”:[{“type”:”text”,”text”:”bar”,….
Why is it returning a function rather than just the json? Am I using web client incorrectly?
As I understand it, this is JSONP – JSON which is “padded” with a function call to allow cross-domain data transfer. I strongly suspect that if you pass in a different callback name on the URL, you’ll see that other name come back in the response.
(Note that although I work for Google, this answer is not an “official” response from Google in any way, shape or form.)