Подтвердить что ты не робот

Есть ли способ конвертировать JSONP-формат в JSON?

Я пытаюсь разобрать ответ с сервера, и я новичок в этой теме, к сожалению, он находится в формате JSONP. Я не знаю, как разбирать формат JSONP, когда я пытался с JSON Parser возвращать значение null. Может ли кто-нибудь помочь мне в этом...

Спасибо в Advance.

4b9b3361

Ответ 1

JSONP - это просто JSON, завернутый в вызов функции JavaScript. Например, что-то вроде:

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

Итак, у вас есть несколько вариантов. Если вы используете WebView, вы можете определить функцию с именем callback в JavaScript, а затем просто вызвать eval() в данных JSONP. Это вызовет функцию callback, передав ей проанализированный объект JSON (eval() выполняет синтаксический анализ для вас).

Или, если у вас есть строка JSONP в вашем Java-коде, самым простым вариантом является извлечение подстроки JSON, например:

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

Это отключит callback( и );, оставив вас только с {"status":"success", "someVar":1}, который затем должен разобрать с любым стандартным парсером JSON.