Is there any way to convert JSONP format to JSON?

android, jsonp

Solution

JSONP is just JSON wrapped in a JavaScript function call. For instance, something like:

callback({"status":"success", "someVar":1});

So you have a couple of options. If you are using a `WebView` you can define a function called `callback` in JavaScript and then just call `eval()` on the JSONP data. This will invoke the `callback` function, passing it the parsed JSON object (the `eval()` does the parsing for you).

Or, if you have the JSONP string in your Java code, the simplest option is probably to extract out the JSON substring, like:

String json = jsonp.substring(jsonp.indexOf("(") + 1, jsonp.lastIndexOf(")"));

That will strip off `callback(` and `);`, leaving you with just `{"status":"success", "someVar":1}`, which should then parse with any standard JSON parser.

Problem

I am trying to parse a response from server and i am new to this topic, Unfortunately it is in JSONP format. I don't know how to parse JSONP format, when i tried with JSON Parser it is returning null value. Can anyone please help me in doing this... Thanks in Advance.

Original source